绘制一条线:graphics.linestyle()中存在厚度的极限



我正在为基于闪存的应用程序开发一个简单的图形编辑器。在我的编辑器中,缩放范围的范围很大(最大比例为16.0,最小尺度为0.001,默认规模为0.2)。因此,用户很有可能会绘制厚度0.1300.0的线,并且看起来可能的厚度(在Graphics.lineStyle()中)具有上边框。正如我从Livedocs最大值中发现的那样,最大值为255。因此,如果厚度更大,则255.0绘制了一条厚度255.0。提到的上边界是否存在以及它有多大。这是我的问题:

  1. 现在,我正在使用drawPath()lineTo()方法绘制线条。自然行走如果厚度较大,则255.0是在段的末端绘制一个矩形而不是段,而不是两个圆圈(而不是lineTo())。甚至绘制两个细小的细分市场和两个半圆,并填充内部。也许有更优雅/快速的解决方案?
  2. 另一个问题是线的厚度是否大,但较小,而不是255.0(例如100.0),什么是更快地使用lineTo()绘制一条线,或者绘制两个细段和两个半圆圈,然后填充内部?
  3. 最后,也许有人知道一本好文章/书,我可以在其中阅读flash.display.Graphics类的所有方法中的内容(甚至不是闪光的特定文章/图形上的书)?

任何想法都将受到赞赏。预先感谢您!

我同意f-a,将线路放在容器中可能比绘制矩形和额外的圆圈更好,更有效。

我认为数学不会太难锻炼。为了提高效率,您可能只有在线样式超过255时才能执行此操作。

要设置显示对象以保持您的行,我将首先将行的宽度减半(长度可以保持不变)。然后创建一个新的精灵,并以半尺寸在精灵中绘制线条(例如,如果您想要300,只需在150处绘制)即可。仅从(0,0)开始并直接绘制段,以便将所有转换都应用于新的精灵。

从这里您只需将精灵的比例尺加倍即可获得所需的线重量。它应该保持相同的长度,并且末端也应正确舍入。

希望这有所帮助!

使用图形类别的很酷的资源是闪存和数学。该站点有几个很酷的效果和工作示例和源代码。

http://www.flashandmath.com/

相关内容

  • 没有找到相关文章

最新更新