2012-07-25 55 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