[英]Qt5 QImageReader Strange Behavior
我使用QImageReader測試了一個簡單的代碼
scene = new QGraphicsScene(this);
ui->graphicsView->setScene(scene);
QPixmap pixmap;
QImageReader reader("hubble.tif");
reader.setClipRect(QRect(0,0,8000,8000));
QImage img = reader.read();
if (img.isNull())
qDebug() << reader.errorString();
else
{
pixmap = QPixmap::fromImage(img);
scene->addPixmap(pixmap);
}
當我使用64位Qt5.3.2_MSVC 2013_OpenGl對其進行編譯,並使用18000x18000圖像(感謝Nasa Hubble圖像 ...)對其進行測試時,程序正常運行而沒有錯誤。 當我測試同一程序但使用Qt5.3.2_MSVC 2013_OpenGl 32位編譯時,該程序失敗,並出現讀取器錯誤“無法讀取圖像數據”!
這是Qt中的錯誤還是Qt文檔中未提及的32位版本限制?
大小為18000 * 18000 * 23 = 1.266GB的連續內存的映像,在32位系統上,程序可能沒有。 您可能會發現這有助於將其拆分為較小的塊。 https://forum.qt.io/topic/4270/qimagereader-setcliprect-limitation-on-size-large-image/4
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.