从文件vb .net获取位图的分辨率

时间:2009-08-29 14:10:22

标签: vb.net bitmap resolution

我有一个文件名导致图片。它不是嵌入式资源。我的位图对象总是告诉我无论如何分辨率为96x96,我如何获得实际分辨率。感谢

5 个答案:

答案 0 :(得分:2)

96对我来说听起来很准确。我认为你将像素尺寸与分辨率混淆。 分辨率是每英寸点数*(DPI),96是针对显示器显示的图形的常用数字。

如上所述,HeightWidth属性可能正是您所寻找的。

*注意:从技术上讲,我应该说PPI,因为点和像素不一定是可以互换的。

答案 1 :(得分: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

答案 2 :(得分:0)

try this (its in C#):


   Bitmap b = new Bitmap(IMAGE_NAME_LOCATION);

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

高度&宽度以像素为单位。高度&宽度是原始图片的大小。

答案 3 :(得分:0)

如果您使用Bitmap.FromFile(“C:\ whatever.jpg”)加载文件,并且生成的Bitmap的.Width为96,而.Height为96,那么这是该实际的分辨率图像。

如果您正在做的是通过在设计器中设置其Image属性(并浏览文件)将文件加载到PictureBox控件中,那么可能是您的PictureBox恰好是96x96并且SizeMode已设置Stretch,这会使你加载的任何文件显示为96x96。

答案 4 :(得分:0)

很简单:

位图不包含分辨率信息。它们只是有序的像素集合。它们与设备无关。您可以在两个不同的设备上以不同的分辨率(每英寸像素数)显示相同的位图。

您的位图对象具有分辨率属性这一事实具有误导性。