QT4:: QImage - QByteArray - QImage

Модератор: Модераторы разделов

Аватара пользователя
Voral
Сообщения: 1205
ОС: Debian Wheezy (amd64)

QT4:: QImage - QByteArray - QImage

Сообщение Voral »

Есть необходимость перегонять изображения по цепочке QImage - QByteArray - QImage. (утрировано: пересылка по сети)

В QImage попадать различными способами. Как из файла так, например, из из буфера (например в графическом редакторе выделили область - скопировали в клипбоард - оттуда его выципила уже моя программа.

Чтобы запихнуть это дело в QByteArray записываю следующий код:

Код: Выделить всё

this->data = new QByteArray();
QBuffer buffer(this->data);
buffer.open(QIODevice::WriteOnly);
iImage->save(&buffer,"PNG");
qDebug(this->data->toHex());


Второй параметр в save не обязательный. Но если его не указать, то последняя строка ни чего не выдает..... Указываю PNG - картинка пошла и даже вынимаю ее обратно.....

Но вот как определить формат изображения в клипбоарде? Как передать любой фрагмент в наилучшем качестве?
Все вроде сегодня перерыл, но ни чего не могу найти.... :(
То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me © ?
Спасибо сказали:
Doublespace
Сообщения: 275
ОС: Debian Lenny,Squeeze,Centos

Re: QT4:: QImage - QByteArray - QImage

Сообщение Doublespace »

А если вытащить из клипборда в виде QByteArray? А затем сунуть через LoadFromData? В описании сказано, что функция пытается определить формат автоматом, если не указано явно.
Спасибо сказали:
Аватара пользователя
Voral
Сообщения: 1205
ОС: Debian Wheezy (amd64)

Re: QT4:: QImage - QByteArray - QImage

Сообщение Voral »

Doublespace писал(а):
23.11.2009 14:17
А если вытащить из клипборда в виде QByteArray? А затем сунуть через LoadFromData? В описании сказано, что функция пытается определить формат автоматом, если не указано явно.

Хм... Как прямо из клипбоарда вытянутьв QByteArray не видел.... Както через *MimeData? Посмотрю.

В описании то сказано.... Там она пытается определить по первым байтам.... Но ведь, в случае если мы редактируем в каком то графическом редакторе (заранее не известном). И еще даже не сохраняли..... ТО какой формат идет в клипбоард? Кстати, на QLabel я это дело вывожу нормально....
То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me © ?
Спасибо сказали:
Аватара пользователя
deadhead
Сообщения: 1913
Статус: zzz..z

Re: QT4:: QImage - QByteArray - QImage

Сообщение deadhead »

Voral писал(а):
23.11.2009 17:39
Там она пытается определить по первым байтам.... Но ведь, в случае если мы редактируем в каком то графическом редакторе (заранее не известном). И еще даже не сохраняли..... ТО какой формат идет в клипбоард?

в этом случае разве не bitmap там окажется?
[x] close
Спасибо сказали:
Аватара пользователя
Voral
Сообщения: 1205
ОС: Debian Wheezy (amd64)

Re: QT4:: QImage - QByteArray - QImage

Сообщение Voral »

deadhead писал(а):
23.11.2009 17:56
в этом случае разве не bitmap там окажется?

из пиксмапа не пробовал.... Из имиджа принимается....
Про пиксмап настораживает:
Note that this can lose information. For example, if the image is 24-bit and the display is 8-bit, the result is converted to 8 bits, and if the image has an alpha channel, the result just has a mask.
То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me © ?
Спасибо сказали: