在 MXML Graphics 中绘制圆弧

发布于 2024-10-18 04:41:06 字数 80 浏览 4 评论 0原文

有没有一种简单的方法可以在 MXML 图形中绘制不涉及贝塞尔曲线的圆弧?或者我应该创建自己的组件?

谢谢 !

f

Is there a simple way to draw a circular arc in MXML graphics that doesn't involve beziers? Or should I create my own component?

thank you !

f

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

孤蝉 2024-10-25 04:41:06

我最终创建了自己的 mxml 图形组件来绘制弧线。我覆盖 Ellipse Spark 原语并使用 AS 进行弧数学 - 主要是复制 这篇很棒的文章,其中指向此代码

I ended up creating my own mxml graphics component to draw arcs. I override Ellipse Spark primitive and use AS for the arc math - mostly copying this great post, which points to this code.

爱已欠费 2024-10-25 04:41:06
<s:Ellipse height="16" width="16">
    <s:stroke>
        <s:SolidColorStroke color="0x000000" joints="square" caps="square"/>
    </s:stroke>
    <s:fill>
        <s:SolidColor color="0x000000"/>
    </s:fill>
</s:Ellipse>
<s:Ellipse height="16" width="16">
    <s:stroke>
        <s:SolidColorStroke color="0x000000" joints="square" caps="square"/>
    </s:stroke>
    <s:fill>
        <s:SolidColor color="0x000000"/>
    </s:fill>
</s:Ellipse>
策马西风 2024-10-25 04:41:06

您可以使用 Path 类绘制曲线。您将其 data 属性设置为一个字符串,其中包含执行光标放置和绘图操作的交替命令和数值。命令是:

  • C - 绘制贝塞尔曲线。
  • H - 绘制一条水平线。
  • L - 画一条线。
  • M - 移动光标。
  • Q - 绘制二次贝塞尔曲线。
  • V - 绘制一条垂直线。
  • Z - 关闭路径。

如何将其与 FXG 一起使用的示例如下:

<s:Path data="M 20 0
        C 50 0 50 35 20 35
        L 15 35 L 15 45
        L 0 32 L 15 19
        L 15 29 L 20 29
        C 44 29 44 6 20 6">
    <s:stroke>
        <s:SolidColorStroke color="0x000000" weight="1"/>
    </s:stroke> 
</s:Path>

您可以在此处找到更多信息:

http://help.adobe.com/en_US/flex/using/WS5B6A8436-0FF5-4029-8524-C7C1106C483D.html

You can draw curves using the Path class. You set its data property as a string containing alternating commands and numeric values that execute cursor placement and drawing operations. The commands are:

  • C - Draws a bezier curve.
  • H - Draws a horizontal line.
  • L - Draws a line.
  • M - Moves cursor.
  • Q - Draws a quadratic bezier curve.
  • V - Draws a vertical line.
  • Z - Closes path.

An example of how to use this with FXG is as follows:

<s:Path data="M 20 0
        C 50 0 50 35 20 35
        L 15 35 L 15 45
        L 0 32 L 15 19
        L 15 29 L 20 29
        C 44 29 44 6 20 6">
    <s:stroke>
        <s:SolidColorStroke color="0x000000" weight="1"/>
    </s:stroke> 
</s:Path>

You can find more infomation on it here:

http://help.adobe.com/en_US/flex/using/WS5B6A8436-0FF5-4029-8524-C7C1106C483D.html

随心而道 2024-10-25 04:41:06

是的,有。将绘图代码包含在单独的类中是否有意义取决于您,并且是软件架构的问题。

您可以使用绘图 api 来管理绘制曲线。看看链接

BR Frank

编辑:20.02 .2011 - 21:12
另一个没有贝塞尔曲线的想法是数学课。这是一个绘制正弦曲线的小示例链接

Yes there is. If it makes sense to enclose the code for drawing in a seperate class is up to you and is a question of software arcitecture.

Drawing curves can you manage with the drawing api. check this out link

BR Frank

EDIT:20.02.2011 - 21:12
Another idea without beziers can be the math class. Here is a liitle example to draw a sine curve Link

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文