Рисование текста на BitmapData во Flex - PullRequest
1 голос
/ 21 мая 2011

Ну, проблема может быть простой, но я не могу понять это. У меня есть изображение, загруженное в BitmapData. Теперь я хочу взять текст из текстового ввода и поместить его в BitmapData. По сути, он рисует текст в BitmapData и получает результат в виде еще одного BitmapData, который будет состоять из исходных BitmapData с текстом, нанесенным поверх него в указанной позиции. Какой лучший способ добиться этого в flex?

Ответы [ 2 ]

4 голосов
/ 23 мая 2011

Чтобы поместить текст в растровое изображение, вы можете сделать:

var channelName:TextField = new TextField();
channelName.textColor=0x000000;
channelName.antiAliasType = AntiAliasType.NORMAL;
channelName.alpha=1.0;
var txtFormat:TextFormat = new TextFormat("SansSerif",14,0x000000,true);
channelName.setTextFormat(txtFormat);

var bitmapdata:BitmapData = new BitmapData(
         channelName.width, channelName.height, true, 0x000000);
bitmapdata.draw(channelName);
0 голосов
/ 21 мая 2011

Вы не можете рисовать над битмапдатами, скажем так, но вы можете составить их из данных.Поскольку у вас есть BitmapData, достаточно легко изменить его на растровое (var bitmap:Bitmap = new Bitmap(bitmapData);), а затем добавить его в качестве источника для изображения.

Теперь, когда у вас есть реальное изображение на сцене, вы можете добавитьтекст над этим, используя то, что вам нравится (текст, метка, текстовое поле и т. д.), а затем вы можете сделать Bitmap.draw над размерами изображения, чтобы получить информацию о пикселях обратно в BitmapData (под Bitmap.bitmapData).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...