2009-08-29 57 views
0

位圖的分辨率我有導致圖片的文件名。它不是一個嵌入式資源。無論如何,我的位圖對象始終告訴我分辨率是96x96,我怎樣才能得到實際的分辨率。謝謝獲取從文件VB .NET

回答

2

96聽起來很準確的給我。我認爲你會將像素尺寸與分辨率混淆。 分辨率是每英寸*(DPI)的點的數量,和96是用於針對監視器顯示圖形的共同數量。

如前所述,HeightWidth性質可能是你在找什麼。

*注:從技術上講,我應該說PPI,爲點和像素不一定互換。

0
try this (its in C#): 


    Bitmap b = new Bitmap(IMAGE_NAME_LOCATION); 

     Size s = b.Size; 
     s.Height; 
     s.Width; 

高度&寬度以像素爲單位。高度&寬度是原始圖片的大小。

0

如果您使用Bitmap.FromFile(「C:\ whatever.jpg」)加載文件,並且生成的Bitmap的.Width爲96,.Height爲96,那麼這是實際的分辨率該圖像。

如果你正在做的是通過在設計器中設置Image屬性(和瀏覽文件)來將文件加載到PictureBox控件中,那麼你的PictureBox恰好是96x96,而SizeMode是設置爲Stretch,這會使您加載的任何文件顯示爲96x96。

0

很簡單:

位圖不包含分辨率信息。它們只是有序的像素集合。它們獨立於設備。您可以在兩個不同的設備上以不同分辨率(每英寸像素)顯示相同的位圖。

你的位圖對象的分辨率屬性的事實是誤導性的。

1

你正在尋找的方法有那些:

Dim bmp as Bitmap = new Bitmap(IMAGE_NAME_LOCATION) 

bmp.HorizontalResolution ' --> Horizontal PPI (points per inch) 
bmp.VerticalResolution ' --> Vertical PPI 
bmp.SetResolution ' --> Define both Horizontal and Vertical PPI