0
我从aws获取图像并将它们分配给QPixmap变量。我想将他们的信息显示为宽度高度和文件大小。但是我找不到获取文件大小的方法。我将它们转换为QImage,然后使用byteCount方法,尽管图像的文件大小为735字节,但它返回了3952个字节,它等于width * height * 4。如何找到读取为QPixmap的图像的文件大小?
我从aws获取图像并将它们分配给QPixmap变量。我想将他们的信息显示为宽度高度和文件大小。但是我找不到获取文件大小的方法。我将它们转换为QImage,然后使用byteCount方法,尽管图像的文件大小为735字节,但它返回了3952个字节,它等于width * height * 4。如何找到读取为QPixmap的图像的文件大小?
将图片加载到QPixmap
或QImage
时,它将从文件格式转换为内部表示。因此,QImage.byteCount()
返回用于存储图像的字节数。正如你已经提到的,它等于宽*高* 4。这里,数字4
是颜色深度(每像素字节数)。你可以通过QImage.depth()
方法得到它。请注意,它会返回位数,所以您必须将它除以8以获取字节。如果你想得到文件大小,你可以使用len(data)
(如ekhumoro所建议的),或者把它加载到QFile
,并且调用size()
(如果你有/将它保存在硬盘上)。
如果您从aws获取图像数据,您已经知道文件大小(即'len(data)')。 – ekhumoro