Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex flex中以毫米(mm)为单位的字体,如何将点转换为毫米?_Apache Flex_Actionscript 3_Flex3_Flex4_Mxml - Fatal编程技术网

Apache flex flex中以毫米(mm)为单位的字体,如何将点转换为毫米?

Apache flex flex中以毫米(mm)为单位的字体,如何将点转换为毫米?,apache-flex,actionscript-3,flex3,flex4,mxml,Apache Flex,Actionscript 3,Flex3,Flex4,Mxml,我是一名flex开发人员,大部分时间我都在处理点字体,比如12点、14点、23点等等 现在,客户的要求来了,要求以毫米(mm)为单位的字体大小 我找到了这个mm计算公式,但我需要找出屏幕DPI $mm=($pixels*$25.4)/dpi 对于DPI,我使用了flash.system.Capabilities.screenDPI,但我想这并不是找到屏幕DPI的完美方法,因为我读过一些博客,其中提到这通常会得到72 我找到了字体转换的公式(指向mm) 1个PostScript点=0.352777

我是一名flex开发人员,大部分时间我都在处理点字体,比如12点、14点、23点等等

现在,客户的要求来了,要求以毫米(mm)为单位的字体大小

我找到了这个mm计算公式,但我需要找出屏幕DPI

$mm=($pixels*$25.4)/dpi

对于DPI,我使用了flash.system.Capabilities.screenDPI,但我想这并不是找到屏幕DPI的完美方法,因为我读过一些博客,其中提到这通常会得到72

我找到了字体转换的公式(指向mm)

1个PostScript点=0.3527778毫米

但这是针对postscript字体的,我有点困惑,因为我使用swf文件作为字体(在flex3中)

这里有人能指导我如何处理这种情况吗?我的设计阶段的尺寸是mm(比如1000mm X 1000mm),所以在这种情况下,我将使用比率来减小屏幕尺寸


这将是800mm X 200mm的屏幕尺寸,因此这里的每个测量都必须以mm为单位,因此请解释如何处理这种情况。

点通常为1/72英寸。由于1英寸等于25.4毫米,您可以使用以下公式安全地将点转换为毫米

var nFontSizeInMM:Number = (nFontSizeInPoint / 72) * 25.4;
您不需要担心DPI,因为只有在处理以像素为单位的字体大小时,DPI才相关

参考文献

不幸的是,Flash总是告诉你你的运行速度是72 DPI,而在大多数系统中,即使是操作系统也不知道像素的实际大小——人们很少“正确”设置,尤其是在Windows无法很好地处理人们更改DPI设置的情况下


我们要做的是假设96 DPI,因为这是Windows通常期望的。

不,您确实需要处理DPI:计算中的72是DPI值。请记住,您处理的是像素而不是点:flex确实不知道您的像素实际有多大。字体大小总是以点而不是像素指定的。正如你可能看到的,我没有处理过DPI。