【问题标题】:Pixel to Centimeter?像素到厘米?
【发布时间】:2009-08-27 15:44:30
【问题描述】:

我只想知道像素单位是否不变,我们是否可以从像素转换为厘米?

【问题讨论】:

    标签: pixel measurement dpi


    【解决方案1】:

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

    每英寸有 2.54 厘米;如果假设每英寸 96 个像素就足够了,那么公式就相当简单了:

    厘米 = 像素 * 2.54 / 96

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 我敢打赌,如果你想出实际的方程式,你会得到加分 :)
      • 英寸 = (像素 * dpi / (英寸/厘米)) ?
      • 哎呀,最好把代表交给 Mark Ransom,因为他 40 分钟前就这样做了!
      【解决方案3】:

      我会冒险出去,只是猜测您希望能够在他们的显示器上向用户显示东西,缩放到非常接近其真实生活的大小。

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

      通过将信用卡(高度和宽度相对已知的东西)放在屏幕上,您可以轻松确定像素与英寸的比率,并将其用于您的内心。

      Wiki says

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

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

      您可以通过 javascript、C#、flash 等任何您想要的方式以编程方式轻松完成。

      【讨论】:

      • 更性感,在现实生活中也很有用。
      • 嘿,谢谢,我什至可以制作一个 jquery 插件来执行此操作,如果不存在的话
      【解决方案4】:

      可以将像素转换为厘米,但这不是一致的转换。这将取决于相关显示设备的尺寸和分辨率。像素的定义不会改变,但像素的大小会在不同的显示设备上有所不同。

      【讨论】:

        【解决方案5】:

        不,不同的媒体和显示器具有不同的像素密度。

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

        这里是显示器列表by pixel density

        【讨论】:

          【解决方案6】:

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

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

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

          问候

          【讨论】:

            【解决方案7】:

            像素系统取决于您的屏幕分辨率。 好吧,首先您应该获得屏幕的 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.DrawingSystem.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;
                    }
                }
            
            }
            

            希望对你有所帮助,海达尔。

            【讨论】:

              【解决方案8】:

              像素大小因显示设备而异。

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

              (“找到”,因为我用谷歌搜索过,但还没有尝试过)

              【讨论】:

                【解决方案9】:

                据我了解,PIXEL 是:

                图片元素

                因此它取决于两件事:

                (a) 分辨率 (b) 物理屏幕尺寸

                因此,如果您将屏幕尺寸除以分辨率,则应该得到每像素 CM。

                【讨论】:

                • 确保屏幕尺寸以厘米为单位才能正常工作。
                猜你喜欢
                • 1970-01-01
                • 2023-02-04
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多