我有一个指向图片的文件名。它不是嵌入式资源。我的位图对象总是告诉我分辨率是 96x96 无论如何,我怎样才能得到实际的分辨率。谢谢
问问题
6794 次
5 回答
2
96对我来说听起来很准确。我认为您将像素尺寸与分辨率混淆了。分辨率是每英寸点数* (DPI),96 是针对显示器显示的图形的常用数字。
如前所述,Height
andWidth
属性可能是您正在寻找的。
*注意:从技术上讲,我应该说 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 回答