像素到MM方程式?

Dan*_*cer 12 jquery pixel

是否有一个可靠的公式来计算MM的像素大小?或者这不可能跨设备?

我们正在使用一个定制系统,为不同屏幕尺寸的许多设备提供内容,它可以检测MM的屏幕宽度,但我们希望准确地将其转换为像素大小,以使用简单的jquery脚本动态提供正确大小的图像! ?

有任何想法吗?

干杯保罗

Daw*_*awa 33

我做了什么 :

 <div id="my_mm" style="height:100mm;display:none"></div>
Run Code Online (Sandbox Code Playgroud)

然后:

var pxTomm = function(px){   
   return Math.floor(px/($('#my_mm').height()/100)); //JQuery returns sizes in PX
 };
Run Code Online (Sandbox Code Playgroud)

  • 另请注意,使用1mm将导致不准确的圆形转换.最好将元素的高度设置为100mm,然后将$ .height的返回值除以100,然后再将其插入该公式中. (2认同)

Nik*_*des 18

tl; dr:如果您不知道设备的DPI,您将无法推断出现实世界中像素的大小.


像素本身并不是真实世界的测量单位.

如果您考虑显示它们的设备的DPI值,它们可以成为真实世界的测量.

公式是:

  • mm = ( pixels * 25.4 ) / DPI

因此,在96-DPI屏幕设置上查看8个像素:

  • ( 8 * 25.4 ) / 96 = 2.116mm

所有这些假设设备未缩放/缩放.


Jmo*_*van 5

老帖子,但我今天偶然发现了这个,必须让它发挥作用。

诀窍是创建一个尺寸以英寸为单位的元素并请求其宽度,这将为您提供每英寸的 px。

 function inch2px(inches) {
                $("body").append("<div id='inch2px' style='width:1in;height:1in;display:hidden;'></div>");
                var pixels = $("#inch2px").width();
                $("#inch2px").remove();

                return inches * pixels;
            }

            function px2inch(px) {
                $("body").append("<div id='inch2px' style='width:1in;height:1in;display:hidden;'></div>");
                var pixels = $("#inch2px").width();
                $("#inch2px").remove();

                return px / pixels;
            }
Run Code Online (Sandbox Code Playgroud)

现在,如果您需要毫米,就这样做px2inch(10)*25.4