Как отобразить QImage в QWebKit?
Есть ли способ отобразить QImage (в памяти, а не в файловой системе) в QWebFrame, не записывая изображение во временный файл?
2 ответа
Одним из вариантов может быть использование схемы URI данных. Вы в основном base64 кодируете свою картинку и записываете полные данные в URL. Например:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD///+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4Ug9C9zwz3gVLMDA/A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC
WebKit должен поддерживать эти URI либо напрямую, либо как часть исходного кода HTML, например
<img src="data:image/png;base64,blaBLABLA" />
Имейте в виду: если ваше изображение велико, вы можете столкнуться с некоторыми ограничениями. Обычно это используется для небольших вещей, таких как значки.
Черт. Штеффен победил меня в этом!:)
Чтобы добавить, вы можете преобразовать в base 64, сохранив изображение в QBuffer(&byteArray), а затем произнесите byteArray.toBase64()