2009-08-29 68 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