Russian Qt Forum
Июнь 16, 2024, 00:25 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Не могу отразить/перевернуть QImage!!!  (Прочитано 6176 раз)
Maksim
Гость
« : Февраль 09, 2015, 15:02 »

Всем Привет!

Отрисовка на бафере отображается, мирроринг нет!!! Что жэ не так!??!?!

Код:
 
//allocate buffer
 BYTE* pRgb32Buffer = new BYTE[width*height* 4];
 //create paint device
 QImage img = QImage(pRgb32Buffer , width, height, getStride(width, pixelFormat), QImage::Format_RGB32);
 //do some drawing on image (works!)
 QPainter painter(&img);
 painter.drawText(10, 50, QString("some text"));
 //mirrore image (doesn't mirror the orignal buffer!!!)
 img = img.mirrored(false,true);
 //doesn't work either
 //QImage mirrored = img.mirrored();
 //img = mirrored;
 //mirrored.detach();
« Последнее редактирование: Февраль 09, 2015, 15:09 от Maksim » Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #1 : Февраль 09, 2015, 15:25 »

Ну оригинальный буфер (pRgb32Buffer) и не будет перворачиваться, для этого будет создан другой
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #2 : Февраль 09, 2015, 15:49 »

Немного поигрался...
Записан

Maksim
Гость
« Ответ #3 : Февраль 09, 2015, 16:14 »

А мне как раз и надо, что бы все манипуляции изменяли именно оригинальный буфер!!!



Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #4 : Февраль 09, 2015, 16:22 »

А мне как раз и надо, что бы все манипуляции изменяли именно оригинальный буфер!!!
Тогда проще завести его в конце и скопировать из QImage
Записан
Maksim
Гость
« Ответ #5 : Февраль 09, 2015, 16:30 »

Тогда проще завести его в конце и скопировать из QImage

Это к сожалению не подойдёт в моем случае.
Мой РГБ32 буфер я получаю уже заполненим некой картинкой и должен просто добавить некие манипулации/трансформации "сверху".
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #6 : Февраль 09, 2015, 17:19 »

Это к сожалению не подойдёт в моем случае.
Мой РГБ32 буфер я получаю уже заполненим некой картинкой и должен просто добавить некие манипулации/трансформации "сверху".
Ну копировать никто не запрещает, напр
Код
C++ (Qt)
memmove(pRgb32Buffer, img.mirrored().bits(), width * height * 4);
Записан
Maksim
Гость
« Ответ #7 : Февраль 10, 2015, 18:32 »

@Igors: Спасибо!То что надо!!! Подмигивающий
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.069 секунд. Запросов: 22.