我从aws获取图像并将它们分配给QPixmap变量。我想将它们的信息显示为宽度高度和文件大小。但是我找不到获取文件大小的方法。我将它们转换为QImage并使用了byteCount方法,但是,虽然图像的文件大小是735字节,但它返回3952字节,等于width * height * 4.
答案 0 :(得分:1)
将图像加载到QPixmap
或QImage
时,会将其从文件格式转换为内部表示形式。因此,QImage.byteCount()
返回用于存储图像的字节数。正如您已经提到的,它等于width * height * 4。这里,数字4
是颜色深度(每个像素的字节数)。您可以通过QImage.depth()
方法获取它。请注意,它将返回位数,因此您必须将其除以8才能获得字节。
因此,如果您想获取文件大小,可以使用len(data)
(按照ekhumoro的建议)或将其加载到QFile
并致电size()
(如果您有/保存)它在硬盘上。)