gpt4 book ai didi

apache-flex - 在 ActionScript 3 中在形状上绘制文本

转载 作者:行者123 更新时间:2023-12-03 16:28:54 28 4
gpt4 key购买 nike

有没有办法仅使用 ActionScript 在 DisplayObject 或 Shape 中绘制文本?我在网上能找到的唯一方法是创建一个 TextField,但我无法将 TF 添加到 DisplayObject 或 Shape。

编辑:

感谢 viatropos 解决了.

对于任何有兴趣的人:
DisplayObject工具IBitmapDrawable可以作为参数传递给 draw BitmapData 的函数对象,然后可以使用 graphics.beginBitmapFill 绘制.

var textfield:TextField = new TextField;
textfield.text = "text";

var bitmapdata:BitmapData = new BitmapData(theWidth, theHeight, true, 0x00000000);
bitmapdata.draw(textfield);

graphics.beginBitmapFill(bitmapdata);
graphics.drawRect(0, 0, theWidth, theHeight);
graphics.endFill();

最佳答案

好问题。这超出了我曾经需要做的任何事情,但我想我知道该怎么做。

Shape 扩展 DisplayObject,但不扩展 DisplayObjectContainer,因此您无法向其添加任何内容。但它确实有 graphics属性,所以你可以把东西画进去。我能想到的最好方法是拍摄 TextField 的 Bitmap 快照,并将其绘制到 Shape 中。我知道这就是 Degrafa 为他们所做的 RasterText (查看 source ,它真的很有帮助)。

如果你把你的 Shape 改为 Sprite,那就容易多了。 Sprite 扩展了 DisplayObjectContainer,因此您可以在那里添加您的 TextField。

希望有所帮助,

关于apache-flex - 在 ActionScript 3 中在形状上绘制文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2340525/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com