crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> QPainter после print
RazrFalcon
  опции профиля:
сообщение 21.4.2012, 19:59
Сообщение #1


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Пример:
QPrinter *printer = new QPrinter();
QTextDocument *doc = new QTextDocument(this);
doc->setHtml(myhtml);
doc->print(printer);

QPainter painter;
painter.begin(printer);
QImage image;
image.load("img.png");
painter.drawImage(0, 0, image);
painter.end();

Затем все это идет в QPrintPreviewWidget.
Проблема в том, что отображается только img.png, html-текста нету. Если закоментировать рисование картинки - все нормально, текст есть.
Как нарисовать изображение поверх текста сгенерированного через print?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ilyabvt
  опции профиля:
сообщение 21.4.2012, 23:26
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 297
Регистрация: 23.6.2011
Пользователь №: 2765

Спасибо сказали: 45 раз(а)




Репутация:   3  


Если картинка без альфа канала, то возможно она его просто перекрывает. А если рисовать текст через QPainter то он виден?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 21.4.2012, 23:57
Сообщение #3


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Нет. Картинка с альфой.

Решил так:
QPainter painter;
painter.begin(printer);
QImage image;
image.load("img.png");
painter.drawImage(0, 0, image);
doc->drawContents(&painter); // <--
painter.end();


Сообщение отредактировал RazrFalcon - 21.4.2012, 23:57
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 5.12.2024, 3:14