像素到厘米?

时间:2009-08-27 15:44:31

标签: pixel measurement dpi

我只是想知道像素单元是不会改变的,如果我们可以从像素转换为让我们说厘米?

9 个答案:

答案 0 :(得分:28)

类似于this question,它询问点而不是厘米。每英寸有72个点,每英寸有2.54厘米,所以在这个问题的答案中只需用2.54代替72。我会在这里引用并更正我的答案:

  

每英寸有2.54厘米;如果足以假设每英寸96像素,则公式相当简单:

     

厘米=像素* 2.54 / 96

     

有一种方法可以获得Microsoft Windows显示器每英寸配置的像素数,称为GetDeviceCaps。 Microsoft有一个名为“开发DPI-Aware应用程序”的指南,请查找“创建DPI感知字体”部分。

答案 1 :(得分:19)

将像素转换为厘米取决于显示图像的媒体的DPI(每英寸点数),即显示器,激光打印机等。

http://wiki.answers.com/Q/How_do_you_convert_pixels_into_centimeters

答案 2 :(得分:8)

我要走出困境,猜测你希望能够在他们的显示器上向用户显示内容,并将其缩小到非常接近其实际尺寸。

如果是这种情况,我会建议您在现实生活中的物品(信用卡,美元钞票,流行音乐罐等)旁边显示您的物品,或者甚至更好,允许用户像信用卡一样将某些内容保存到屏幕上卡或美元的钞票或标尺。然后,您可以让它们缩放滑块或类似的东西,以满足该对象的宽度或高度。

通过持有信用卡,即具有相对已知高度和宽度的信息卡,直到屏幕,您可以轻松确定像素与英寸的比率,并将其用于您的心灵内容。

Wiki says

  

大多数信用卡由当地银行或信用合作社发行,ISO/IEC 7810 standard指定的形状和大小为ID-1 (85.60×53.98 mm)

使用mspaint,我的信用卡正好是212像素高,即53.98mm / 212像素=每毫米3.92像素。乘以10,每厘米39.2像素。

你可以通过javascript,C#,flash,以及你想要的任何方式轻松地编写它。

答案 3 :(得分:6)

可以从像素转换为厘米,但这不是一致的转换。这取决于所讨论的显示设备的尺寸和分辨率。像素的定义不会改变,但像素的大小会因不同的显示设备而异。

答案 4 :(得分:4)

不,不同的媒介&显示器具有不同的像素密度。

例如,桌面显示器每英寸可以有75个像素,而打印可以在300输出。

以下是显示by pixel density

的列表

答案 5 :(得分:3)

在Adobe Illustrator CS3中:(我得到的数字是1 cm = 28.347像素。注意我使用的是iMac 7.分辨率为每英寸102像素,根据链接http://en.wikipedia.org/wiki/List_of_displays_by_pixel_density为40 ppcm由rebo提供。

我使用javascript创建了一个Adobe Illustrator CS3文档来测试1 cm = 28.347像素的值并且它完全匹配。

我知道这个问题已经很老了,但我试图找到答案并决定分享我的发现。

此致

答案 6 :(得分:1)

像素的大小根据显示设备而变化。

以下“找到”代码使用api调用来确定像素密度Get screen DPI in .NET

(“发现”就像我用谷歌搜索它但没试过它)

答案 7 :(得分:1)

像素系统取决于您的屏幕分辨率。 那么,首先你应该得到你的屏幕的dpi(密度像素perInch)。 例如,您的屏幕dpi为96;

1 CM = 37.795276F 96dpi的像素。

37.795276F / 96F = 0.03937007F,即1dpi中的每个像素。

现在您可以通过获取屏幕的当前dpi并将其乘以0.03937007F来使其适应您的屏幕。然后你有每个Centimeter你想要的dpi(屏幕分辨率)

设置方案。

我想制作一个获得CM并在屏幕Dpi上返回像素基础的方法;

public float CentimeterToPixel(int valueCM, float dpi)
{
   return 0.03937007F * dpi * valueCM;
}

如果你想让它更准确你必须接近dpiX& dpiY。

例如在C#winforms中您可以添加Graphics的对象 System.Drawing System.Drawing.Drawing2D 然后获取它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;
        }
    }

}

它帮助你,Heydar。

答案 8 :(得分:0)

据我了解,PIXEL是:

  

图片元素

因此它取决于两件事:

(a)决议 (b)物理屏幕尺寸

因此,如果您按分辨率划分屏幕尺寸,则应该为每个像素提供CM。