正在加载...

坐标取整和基于像素的矢量图的像素化是密不可分的。

比如,我有一个矩形,长宽都为100px,但是_x=10.5,_y=10.5,这样看到的矩形,是有毛边的,而在很多细节方面,尤其要避免这种影响整个Flash的“毛边”出现。

避免的方法无疑是把坐标换为整数。

但是,如果这个矩形被嵌套在一个很复杂的MC结构里面,那么如何来解决呢?唯一的办法就是把每一个MC的坐标再改为整数,一层一层的检查是否出现了小数坐标。然而有时候这仍然不够,因为可能中间某一次嵌套时整个MC的其他属性,比如_width,_height都改变了。当一个比较大的MC结构建立起来之后,再作修改是一件非常复杂的工程。

这时候,我想了这样一个办法来解决这个矩形像素化的问题:

把这个矩形转换为一个MC,然后用 localToGlobal得到这个MC的全局横纵坐标(肯定含有小数),基于这样一个全局小数坐标,修改矩形坐标为小数,去“补偿”这样一个多余的小数部分。

比如我们得到这个矩形的全局坐标为 myRec._x = 10.5 myRec._y=10.5那么可以把这个矩形的本地坐标改为(0.5,0.5)

不知道各位有没有更好的办法,欢迎讨论

还没找到您要的东西?Google试试看吧,
Google更注重原创、时效性好的文章:


本文相关评论: 才 2 条评论
  1. yacht 2005-03-10 10:47:38

    如果对矩形边的粗细没有很严格的要求,可以尝试将一个逻辑像素由几个物理像素来消除锯齿

  2. aw 2005-03-10 11:27:35

    Flash != PS,
    所以您所说的个逻辑像素由几个物理像素似乎不起作用啊!

    对于矩形的粗细,当然是有精确的要求的,要不然,我们何苦精确到像素呢?:)

[支持Ctrl+Enter]为了我们大家和家人的安全,留言请慎重!
声明:
1、本站仅与见过面的个人博客交换链接,见此文
2、留言时的头像是Gravatar提供的服务。如果您有兴趣并且有闲暇时间,可以看看这里的介绍