1

在 as3 中将 TextFields 的复杂组合绘制到 BitmapData 时遇到问题,我无法理解其原因,所以请帮助我。

当我更改父级的 (x,y) 或 (width, height) 并且绘制的对象得到像左模糊这样的不良效果时,就会出现问题。

我附上了一张图片,下面是一段代码:

//defining TextField object
var textField:TextField = new TextField();
textField.embedFonts = true;
textField.width = width;
textField.selectable = false;
textField.border = true;

var stylesheet:StyleSheet = new StyleSheet();
stylesheet.parseCSS(css);
textField.styleSheet = stylesheet;


textField.multiline = true;
textField.autoSize   = TextFieldAutoSize.LEFT;
textField.antiAliasType  = AntiAliasType.ADVANCED;
textField.wordWrap = true;
textField.condenseWhite = true;

textField.htmlText = "<p>"+text+"</p>";

//after adding it to a MovieClip i draw it into a BitmapData
var btmd:BitmapData = new BitmapData(width, height);
btmd.draw(this.page,null,null,null,null, true);

在此处输入图像描述

4

4 回答 4

2

谢谢你的帮助,

这个丑陋问题背后的原因是为对象(或)具有长浮点值的父对象设置 x、y。解决方法是将 x, y 设置为 int。

换句话说,

BitmapData.draw( obj );

obj.x, obj.y 应该是整数,否则会影响到绘制对象的丑陋效果。

于 2011-03-23T15:50:24.547 回答
1

由于缺乏代表,我还不能发表评论,所以我不得不把它放在这里......

当我转到给出的链接时,没有出现所描述的问题。

我错过了什么吗?

补充: 您可以尝试调整文本字段的清晰度?

另外,也许考虑何时制作位图,因为可能不会调整所有内容,但可能会在那时创建位图?

注意:我仍然无法获得您在帖子中显示的灰色。

于 2011-03-17T21:16:45.260 回答
1

你在刷新bg吗?所以在绘制btmd之前重绘BG来清除之前绘制的位图数据

于 2011-03-17T19:25:51.160 回答
0

样本大小为 x2。然后将位图缩放 50%。它看起来与原始剪辑完全相同。

于 2017-07-21T23:06:36.460 回答