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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [ВРЕМЕННО РЕШЕНО] QWebView и динамическая генерация изображений  (Прочитано 4038 раз)
marbius
Гость
« : Август 31, 2010, 15:17 »

Доброго времени суток.

Подскажите, в каком направлении искать решение? Необходимо, чтобы QWebView отображал картинки, генерируемые в памяти, например, чтобы тэг <img src="photos/0001.jpg"> обрабатывался моей программой и она в ответ выдавала необходимое изображение через QImage, хотябы например. Вариант с временным хранением сгенерированных изображений на диске не совсем устраивает.

Заранее благодарен
« Последнее редактирование: Сентябрь 02, 2010, 15:02 от µarbius » Записан
sendevent
Гость
« Ответ #1 : Август 31, 2010, 17:23 »

если QWebView необходим тока для отображения генерируемых картинок - не верной дорогой идете, товарисч.
Код:
QString strHtmlImgTag( "<img src=\"data:image/png;base64,%1\" width=\"%2\" height=\"%3\"/>" );
QBuffer imageBuffer;
imageBuffer.open(QBuffer::ReadWrite);
QImage img( "/some/image.png" );
if( img.save( &imageBuffer, "PNG" ) )
{
    SomeHtmlBody->appned( strHtmlImgTag
    .arg( QLatin1String(imageBuffer.buffer().toBase64()) )
    .arg( img.width() )
    .arg( img.height() ) );
}
глянь %QTDIR%/demos/browser - пример практически оттуда.
как вариант - эта тема, но с base64 вроде удобней.
пиксмапину DOM-элемента можно получить через QWebHitTestResult.
Записан
Denjs
Гость
« Ответ #2 : Август 31, 2010, 18:14 »

Код:
QString strHtmlImgTag( "<img src=\"data:image/png;base64,%1\" width=\"%2\" height=\"%3\"/>" );
...
глянь %QTDIR%/demos/browser - пример практически оттуда.
как вариант - эта тема, но с base64 вроде удобней.
пиксмапину DOM-элемента можно получить через QWebHitTestResult.
о КАК можно! спасибо... мне тоже пригодится.
Записан
marbius
Гость
« Ответ #3 : Сентябрь 02, 2010, 15:01 »

Код:
QString strHtmlImgTag( "<img src=\"data:image/png;base64,%1\" width=\"%2\" height=\"%3\"/>" );
Принято как решение сути проблемы (временное?).

Описание подхода как такового, не относящегося напрямую к Qt, можно найти здесь:http://ru.wikipedia.org/wiki/Data:_URL
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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