簡體   English   中英

Qt5 QImageReader奇怪的行為

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM