我只想知道像素单位是否不变,我们是否可以从像素转换为厘米?
9 回答
类似于这个询问点而不是厘米的问题。每英寸有 72 个点,每英寸有 2.54 厘米,所以在该问题的答案中只需用 2.54 代替 72。我将在这里引用并更正我的答案:
每英寸有 2.54 厘米;如果假设每英寸 96 个像素就足够了,那么公式就相当简单:
厘米 = 像素 * 2.54 / 96
有一种方法可以为 Microsoft Windows 获取配置的每英寸显示器像素,称为 GetDeviceCaps。Microsoft 有一个名为“Developing DPI-Aware Applications”的指南,请查看“Creating DPI-Aware Fonts”部分。
将像素转换为厘米取决于显示图像的媒体(即显示器、激光打印机等)的 DPI(每英寸点数)。
http://wiki.answers.com/Q/How_do_you_convert_pixels_into_centimeters
我会四处走动,只是猜测您希望能够在他们的显示器上向用户显示东西,缩放到非常接近其真实生活的大小。
如果是这种情况,我建议要么在现实生活中的物品(信用卡、美元钞票、易拉罐等)旁边显示你的物品,或者更好的是,允许用户将一些东西放在屏幕上,比如信用卡或美元账单或尺子。然后,您可以让他们缩放滑块或类似的东西以满足该对象的宽度或高度。
通过将信用卡(高度和宽度相对已知的东西)放在屏幕上,您可以轻松确定像素与英寸的比率,并将其用于您的内心深处。
大多数信用卡由当地银行或信用合作社发行,其形状和尺寸由ISO/IEC 7810 标准指定为 ID-1 (85.60 × 53.98 mm)
使用 mspaint,我的信用卡正好是 212 像素高,即 53.98 毫米/212 像素 = 3.92 像素/毫米。乘以 10 即为每厘米 39.2 像素。
您可以通过 javascript、C#、flash 以编程方式轻松完成此操作,无论您想要什么。
您可以从像素转换为厘米,但这不是一致的转换。这将取决于相关显示设备的尺寸和分辨率。像素的定义不会改变,但像素的大小会在不同的显示设备上有所不同。
在 Adobe Illustrator CS3 :(,我得到的数字是 1 cm = 28.347 像素。注意我使用的是 iMac 7。根据链接http://en.wikipedia,分辨率为每英寸 102 像素,40 ppcm。 org/wiki/List_of_displays_by_pixel_density由 rebo 提供。
我使用 javascript 创建了一个 Adobe Illustrator CS3 文档来测试 1 cm = 28.347 像素的值,它完全匹配。
我知道这个问题已经很老了,但我试图找到答案并决定分享我的发现。
问候
像素系统是它取决于您的屏幕分辨率。好吧,首先您应该获得屏幕的 dpi(每英寸像素密度)。例如你的屏幕 dpi 是 96;
1 CM = 37.795276F 像素(96dpi)。
37.795276F / 96F = 0.03937007F 这是 1dpi 中的每个像素。
现在您可以通过获取屏幕的当前 dpi 并将其乘以 0.03937007F 来使其适应您的屏幕。然后你有你想要的dpi(屏幕分辨率)中的每一厘米
让我们设置场景。
我想制作一个方法来获取 CM 并返回基于屏幕 Dpi 的像素;
public float CentimeterToPixel(int valueCM, float dpi)
{
return 0.03937007F * dpi * valueCM;
}
如果你想让它更准确,你必须接近 dpiX & dpiY。
例如在 C# winforms 你可以从 System.Drawing和System.Drawing.Drawing2D添加一个 Graphics 对象,然后获取它的 dpiX 和 dpiY 值并根据它设计你的区域以获得更精确的计算(在某些情况下水平分辨率不同于垂直的)。请参阅下面的代码。
using System;
using System.Windows.Forms;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
namespace MyApp
{
static class MyAppClass
{
private static Bitmap bmp = new Bitmap(1, 1);// a simple bitmap that automaticaly created base on current screen resolution
private static Graphics graphic = Graphics.FromImage(bmp);
public static float CentimeterToPixelWidth(int valueCM)
{
return 0.03937007F * graphic.DpiX * valueCM;
}
public static float CentimeterToPixelHeight(int valueCM)
{
return 0.03937007F * graphic.DpiY * valueCM;
}
}
}
海达尔,希望对你有帮助。
据我了解,PIXEL 是:
图片元素
因此它取决于两件事:
(a) 分辨率 (b) 物理屏幕尺寸
因此,如果您将屏幕尺寸除以分辨率,这应该为您提供每像素 CM。