我希望能夠將圖像保存爲xml文件中的文本,但我無法找到一種有效的方法來完成它!將圖像轉換爲文本
到目前爲止,我嘗試:
QByteArray ImageAsByteArray;
QBuffer ImageBuffer(&ImageAsByteArray);
ImageBuffer.open(QIODevice::WriteOnly);
rImage.save(&ImageBuffer, "PNG");
return QString(ImageAsByteArray.toBase64());
儘管它的工作的事實,結果是一個文件,它是巨大的!我試圖在那裏添加一些QCompress,但沒有取得太大的成功......其實QCompress似乎並沒有壓縮任何東西......
我認爲我做錯了方式,但是有人可以照亮我的路嗎?
你怎麼知道qCompress不壓縮任何東西?你正在檢查生成的文字大小或圖像的二進制大小?此外,你需要PNG圖像,還是可以使用高壓縮比的JPEG? – 2010-09-14 12:09:24
嗨Jérôme:)嗯,我實際上在ImageAsByteArray上調用了QCompress,因此創建了另一個bytearray,兩個變量之間的大小差別非常小...實際上,我需要jpg和png ...這段代碼只是爲測試目的! – 2010-09-14 13:01:54
什麼是「巨大」?每像素100x100像素x3字節原始數據已經是30kB,如果您使用PNG或JPEG壓縮了一點,您可以將其降低到5kB或10kB(取決於圖像當然),並且如果您使用base64編碼變成8kB-15kB。所以是的,這是一個只有100x100像素的長字符串,但確實值得期待。 – Ivo 2010-09-14 13:05:51