猜猜猜: Actionscript中宽高/坐标以0.05为步进值,很可能和打印有关

>>>>>关于0.05的坊间资料:

http://riaoo.com/?p=2473

===============================================

前述:传闻说在flash里最小的长度单位不是像素,而是 Twips(缇)。二十分之一的像素称为Twips。如何证明?

分析:在Flash里,可视对象的坐标(如 x 和 y 属性)是一个 Number 类型的变量。意味着可以为它设置一个非整型带小数点的数。例如可以把显示对象放在点(0.597, 0.123)。一个奇怪的现象是:无论你设置坐标为何值,trace 出来的坐标总是 0.05 的倍数。当坐标不是 0.05 的倍数时,坐标值会被向下取整(而不是四舍五入)。如点(0.597, 0.123)会被取整为(0.55, 0.1)。

总结:不知道这样是否证明了flash里使用的最小长度单位就是二十分之一的像素,即 Twips。另外,后来搜阅资料发现,Twips 不是 Flash 特有的。

===============================================

 

 

 

>>>>>百度知道:

http://zhidao.baidu.com/link?url=vfufWIyn1F4siESPIqLThyaCWkg2m3QpgFbpntELEpJYtmpO9qYcgXjGa7KhITT6ECvdQKYZ89dE-fkxrTuzH_

===============================================

「Twip」中文译为"缇",是一种和屏幕无关的长度单位,目的是为了让应用程序元素输出到不同设备时都能保持一致的计算方式。打印机的一个点,即我们说的“磅”,相当于20个 Twips,一英吋相当于 1440个Twips, 一公分则相当于567 Twips ,也就是说,如果屏幕上某个对象的长度是1440 Twip的话,将会印出一英吋来。
  由于我们在屏幕上操作时会习惯用「像素」(也就是我们常说的屏幕分辨率DPI,系统可以设置各种DPI值),所以我们直接输入数字时必须再将「像素」换算成「Twip」。当DPI设置为96时(系统默认值),1个像素=(1/96)*1440=15 Twip;当DPI设置为120时,1个像素=(1/120)*1440=12 Twip。当DPI为96时,如果希望窗体的高是「400」像素,宽是「300」像素,属性的设定值就是: Height=400×15=6000 Twip,Width =300×15=4500 Twip.
  在VisualBasic应用程序中,屏幕(Screen)是一个对象。其Width和Height属性以Twip为单位反映出屏幕的宽度和高度。而TwipsPerPixelX和TwipsPerPixelY这两个属性只与硬件有关,而与屏幕上可设定的分辨率无关。将Width除以TwipsPerPixelX可以计算出屏幕的水平分辨率像素数),同样将Height除以TwipsPerPixelY也可以计算出屏幕的垂直分辨率。要想保持一个窗口或是控件的物理大小不变,只要计算出设计时的分辨率与实际运行时的分辨率的比值,然后根据这个比值来调节窗口和其中的控件的大小和相对位置,以及显示的字体尺寸,就可以保持同一应用程序的窗口在不同的系统下的物理外观(当然在不同尺寸的显示器上只能保持比例不变,物理大小还是不同的)。

================================================

 

 

>>>>>猜猜猜:

由上面的内容可知,1像素并不等于20缇。所以最上面的“坊间。。。”是不正确的。

1磅=20缇。

1缇=0.05磅

磅是打印单位,缇自然也可以称其为打印单位。

参考 flash.printing.printJob 类中关于长度的说明,可知Actionscript中在打印是用到的长度单位是:磅。

于是Actionscript似乎能够和“缇”产生联系。

 

标题提及到的步进值(0.05)是否和“1缇=0.05磅”中的0.05有关系呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值