Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сделать простой аналог canvas на Си ? 
:(
    Опции темы
macdack
Дата 7.6.2015, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 15.4.2010

Репутация: нет
Всего: нет



Как наиболее просто и кросплатформенно для десктопов и может быть для мобильных осей сделать аналог холста жаваскрипта ?

Холст нужен простейший - всего две функции:
1) выводить массив пикселов плавно без задержек 60 раз в сек
2) отслеживать клик/тач событие с передачей координат точки/точек нажатия




PM MAIL   Вверх
ss
Дата 9.6.2015, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 17.5.2007

Репутация: нет
Всего: нет



а чем тебе стандартный Qt Widget http://doc.qt.io/qt-5/qwidget.html#paintEvent
не нравится  или из qml  Canvas http://doc.qt.io/qt-5/qml-qtquick-context2d.html  ?

У widget есть унаследованный от QObject таймер и обработчик http://doc.qt.io/qt-5/qobject.html#timerEvent


qml работает с openGL, поэтому все будет быстро отрисовываться

Код


Canvas
        {
            id: screen
            width: 640
            height: 480
onPaint:
            {
                var ctx = screen.getContext("2d")
                ctx.save();
                ctx.clearRect(0, 0, mapSizeX, mapSizeY);

                ctx.beginPath();

         // тут рисуешь любые фигуры, в качестве примера эллипс
               ctx.ellipse(50,50,200,200)

               ctx.closePath();
                ctx.fill();
                ctx.restore();
               }
MouseArea
{ 
              anchors.fill: parent
              onClicked:
              {//обрабатывает нажатие, клики. Посылаем сигнал с координатами нажатия
                            signalClick(mouseX, mouseY)
              }
}


Это сообщение отредактировал(а) ss - 9.6.2015, 15:26
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0399 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.