в AS3 рисование TextField в BitmapData дает плохой эффект при перемещении родителя (изменение x, y)? - PullRequest
1 голос
/ 17 марта 2011

возникли проблемы при рисовании сложных комбинаций TextFields в BitmapData в as3, и я не могу понять причину этого, поэтому, пожалуйста, помогите мне с этим.

Проблема возникает, когда я меняю родительский(x, y) или (ширина, высота) и нарисованный объект получил плохой эффект, похожий на размытие слева.

Я приложил изображение того, что происходит, и вот фрагмент кода:

//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);

enter image description here

Ответы [ 4 ]

2 голосов
/ 23 марта 2011

Спасибо за вашу помощь,

причина этой ужасной проблемы - установить x, y для объекта (или) родителей с длинными значениями с плавающей точкой. Решить можно, установив x, y в int.

Другими словами,

BitmapData.draw( obj );

obj.x, obj.y должно быть целым числом, иначе на нарисованный объект повлияет уродливый эффект.

1 голос
/ 18 марта 2011

Я пока не могу комментировать из-за нехватки репов, так что я вроде бы должен выложить это здесь ...

При переходе по указанной ссылке описанная проблема не появляется.

Я что-то упустил?

Дополнительно: Вы можете попытаться отрегулировать резкость текстового поля?

Кроме того, возможно, рассмотрите, когда создается растровое изображение, потому что не все может быть отрегулировано, но растровое изображение может быть создано в этой точке?

Примечание. Мне все еще не удалось получить серый цвет, который вы указали в своем сообщении.

1 голос
/ 17 марта 2011

вы освежаете BG?поэтому перед рисованием btmd перерисуйте BG, чтобы очистить ранее нарисованные данные растрового изображения

0 голосов
/ 22 июля 2017

Образец в размере х2.Затем масштабируйте растровое изображение до 50%.Он будет выглядеть точно так же, как оригинальный клип.

...