Как присвоить значение двухмерного массива объекту Qpixmap, Не нашёл примера в сети |
Здравствуйте, гость ( Вход | Регистрация )
Как присвоить значение двухмерного массива объекту Qpixmap, Не нашёл примера в сети |
zuze |
15.1.2013, 12:49
Сообщение
#1
|
Участник Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: 0 |
Я рисую картинку в paintEvent() с помощью двух циклов (циклы большие), после этого выводится линия которая передвигается на определённое расстояние.
Но при выводе этой картинки из двух циклов, скорость передвижения линии падает, а если не выводить картинку, то линия выводится и передвигается как обычно. Как я понял из-за того, что paintEvent() выполняется многократно у меня замедляется передвижение линии. Как я понял надо значения двухмерного массива записать в объект Qpixmap и потом вывести в paintEvent() не используя циклы с помощью drawPixmap(). Ксожалению запись двухмерного массива записать в объект Qpixmap я не нашёл в сети примера. Все примеры только чтобы вывести бинарный файл. Я не могу передавать файл, так как в двухмерном массиве храниться информация из разных файлов. А результирующий файл создавать нельзя. Скажите пожалуйста, как запись двухмерного массива записать в объект Qpixmap? |
|
|
zuze |
15.1.2013, 15:20
Сообщение
#2
|
Участник Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: 0 |
Задачу решил. Но проблему мою это не сняло.
Сделал так
Я смог избавиться от циклов в paintEvent(), но к сожалению таймер линии всё равно медленно, работает. Как-то странно когда работает только таймер линии, то он работает прекрасно. Если я запускаю меняющиеся картинки используя второй таймер, то таймер линии медленнее работает. Почему может такое происходить ещё? Сообщение отредактировал zuze - 15.1.2013, 16:04 |
|
|
Алексей1153 |
15.1.2013, 20:03
Сообщение
#3
|
фрилансер Группа: Участник Сообщений: 2939 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
zuze, ты бы демонстрации приклеивал, сложно твои объяснения вот так воспринимать под ночь ))
попробуй копировать методами bool loadFromData ( const uchar * data, uint len, const char * format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor ) bool loadFromData ( const QByteArray & data, const char * format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor ) |
|
|
Текстовая версия | Сейчас: 25.4.2024, 23:44 |