Russian Qt Forum

Qt => Мультимедиа => Тема начата: Maksim от Февраль 09, 2015, 15:02



Название: Не могу отразить/перевернуть QImage!!!
Отправлено: 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();


Название: Re: Не могу отразить/перевернуть QImage!!!
Отправлено: Igors от Февраль 09, 2015, 15:25
Ну оригинальный буфер (pRgb32Buffer) и не будет перворачиваться, для этого будет создан другой


Название: Re: Не могу отразить/перевернуть QImage!!!
Отправлено: gil9red от Февраль 09, 2015, 15:49
Немного поигрался...


Название: Re: Не могу отразить/перевернуть QImage!!!
Отправлено: Maksim от Февраль 09, 2015, 16:14
А мне как раз и надо, что бы все манипуляции изменяли именно оригинальный буфер!!!





Название: Re: Не могу отразить/перевернуть QImage!!!
Отправлено: Igors от Февраль 09, 2015, 16:22
А мне как раз и надо, что бы все манипуляции изменяли именно оригинальный буфер!!!
Тогда проще завести его в конце и скопировать из QImage


Название: Re: Не могу отразить/перевернуть QImage!!!
Отправлено: Maksim от Февраль 09, 2015, 16:30
Тогда проще завести его в конце и скопировать из QImage

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


Название: Re: Не могу отразить/перевернуть QImage!!!
Отправлено: Igors от Февраль 09, 2015, 17:19
Это к сожалению не подойдёт в моем случае.
Мой РГБ32 буфер я получаю уже заполненим некой картинкой и должен просто добавить некие манипулации/трансформации "сверху".
Ну копировать никто не запрещает, напр
Код
C++ (Qt)
memmove(pRgb32Buffer, img.mirrored().bits(), width * height * 4);


Название: Re: Не могу отразить/перевернуть QImage!!!
Отправлено: Maksim от Февраль 10, 2015, 18:32
@Igors: Спасибо!То что надо!!! ;)