2013-06-05 150 views
-1

也许是一个愚蠢的问题,但是: 如何知道图像时以兆字节为单位计算图像的大小 像素高度和像素宽度? 谢谢从像素高度和pizel宽度以MB为单位的图像大小

+0

你想在文件压缩之前还是之后? –

+0

很确定谷歌可以很快回答。编辑:是的,这是[字节/像素图表](http://www.scantips.com/basics1d.html),在不到5秒内找到 –

+0

看看[如何获取文件大小 - (系统绘制图像](http://stackoverflow.com/questions/221345/how-to-get-the-file-size-of-a-system-drawing-image) @Ilya Ryzhenkov使其非常简单。 [1]:http://stackoverflow.com/questions/221345/how-to-get-the-file-size-of-a-system-drawing-image – Shubh

回答

3

取决于颜色深度。如果您在使用8位像素,这将是:

height * width/1048576

如果您正在使用32位像素,这将是:

4*height*width/1048576这是height*width/262144

+0

还取决于步幅,不管图像在内存中或文件格式等 –

0

这是计算我用来获取原始位图图像的大小:

// Calculate the pixel depth in bytes: 
int pixSize = Image.GetPixelFormatSize(myImage.PixelFormat)/8; 
int size = (myImage.Height * myImage.Width * pixSize)/1048576; 

这只是原始位图的大小。正如斯科特·琼斯所提到的那样,这没有考虑跨步(填充缓冲区的字节)或压缩的图像格式。它只是一个原始位图的最小尺寸。

相关问题