是否可以在QML中获取加载的图像原始尺寸和字节大小?

时间:2019-01-10 10:58:02

标签: qt qml

如果我在QML中有图像项,是否可以找出图像的原始尺寸及其字节大小?

例如,如果我具有以下QML:

import QtQuick 2.0

Image {
    source: "http://someURL.jpg"
    asynchronous: true
    sourceSize.width: 800
    sourceSize.height: 600
}

在完全加载图像后,能否获得图像的原始尺寸和字节大小?在Image的文档中找不到此类属性。

1 个答案:

答案 0 :(得分:1)

  

如果我在QML中有一个图片项,是否可以找出   图片的原始尺寸及其字节大小?

异步加载的问题在于,我们需要知道映像准备就绪的时间,并且有一种方法可以做到这一点。 QtQuick Image具有属性status,我们可以将信号附加到该属性:

Image {
    source: "http://someURL.jpg"
    asynchronous: true
    onStatusChanged: {
      if (status == Image.Ready) {
         console.log('Loaded: sourceSize ==', sourceSize);
      }
    }
}

因此,我们宁愿从sourceSize阅读,但要做好准备。