2012-07-25 57 views
0

这是一个理解问题。WPF中图像的内存使用情况

当我有一个jpg格式图像(A4,96DPI,每像素24位),在磁盘上以90%的质量水平占用200KB并将其加载到WPF中(例如使用XAML)。

<Image Source="MyJpeg.jpg"></Image> 

WPF会对不(仅)200KB的图像存储器消耗,但至少8.27 X 11.69 X96²X 24/8/1024 = 2610.26KB,是吗?

有:

Size of A4 = 8.27 inch x 11.69 inch 
Pixels in the whole picture = [Size of A4] x 96² 
Bits for the whole picture = [Pixels in the whole picture] x 24 
Bytes for the whole picture = [Bits for the whole picture]/8 

回答

3

当你想知道你的图像的物理显示(屏幕,纸)上的物理尺寸的DPI是唯一有用的。

您的jpg图像具有宽度和高度(以像素为单位)。当作为图象源使用时,它会得到转换为位图,其大小大致会是,在比特:

宽度×高度×每像素比特

+0

DPI *尺寸是相同的数的像素 - 所以A4 * 96 DPI是OP说的对吗?所以你基本上是说“这是正确的,但我会看看像素的数量,而不是使用尺寸/ DPI” – Charleh 2012-07-25 16:32:27

+0

确切,因为您的图像存储为w * h像素,无论DPIS如何。 IE增加图像的DPI设置不会“添加”像素。只是一个适当的显示/打印提示。 – mathieu 2012-07-26 06:57:26

+0

是的,我有人要求我发送我的图像为300 DPI(没有尺寸信息) - 我只是改变图像头中的DPI设置,他们接受了它们。这些图片对于印刷品来说是巨大的,但是由于标题是错误的,他们不会接受它们 - 不知道DPI与什么相关的人可能会感到困惑.DPI不给你像素,除非你也有物理尺寸 - 因此每**英寸** – Charleh 2012-07-26 09:51:27