1

我有一个指向图片的文件名。它不是嵌入式资源。我的位图对象总是告诉我分辨率是 96x96 无论如何,我怎样才能得到实际的分辨率。谢谢

4

5 回答 5

2

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

如前所述,HeightandWidth属性可能是您正在寻找的。

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

于 2009-08-29T14:27:48.873 回答
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
于 2011-01-20T20:32:18.557 回答
0
try this (its in C#):


   Bitmap b = new Bitmap(IMAGE_NAME_LOCATION);

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

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

于 2009-08-29T14:22:09.660 回答
0

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

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

于 2009-08-29T14:23:01.797 回答
0

这很简单:

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

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

于 2010-03-01T16:26:43.477 回答