Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   текст в bitmap программно (http://www.flasher.ru/forum/showthread.php?t=90155)

iNils 03.01.2007 19:34

Цитата:

Сообщение от Agro
Блин. Опять переместили.

Интересно, какие вопросы не для начинающих?

Те вопросы, на которые нельзя найти ответ в хелпе, faq и после изучение результатов поиска по форуму (оптимально и гуглу).
У вас же можно, судя по "конвертировать в изображение bitmap", сразу же открыть хелп по BitmapData, если не знаете про метод draw, то хотя бы прочесть обо всех методах и выйти на метод draw. А там для первого же аргумента source указанн тип Object, соответственно и TextField сюда подходит.

Nirth 04.01.2007 06:58

Вы вечный нуб товарищЪ смеритесь=)

Idalgo 08.05.2007 18:08

При преобразовании текста в битмап получить прозрачный фон никак нельзя?

Aziz Zaynutdinoff 08.05.2007 18:22

как это нельзя? :) и вы туда же, сударь, а читать справку?
BitmapData надо создавать с прозрачностью.

Idalgo 08.05.2007 19:02

Создаю как положено с прозрачностью. Пытаюсь отрисовать текстовое поле - получаю белый фон после draw.

iNils 08.05.2007 19:13

У нас все гадалки забанены.

BigDan 08.05.2007 19:16

BitmapData.draw(.....,blendMode,....);

Idalgo 08.05.2007 19:56

Код:

function createText(x,y, width:Number, height:Number, _txt:String):MovieClip {
    var depth:Number = this.getNextHighestDepth();
    var mc:MovieClip = this.createEmptyMovieClip("mc_" + depth, depth);
        mc._x = x;
        mc._y = y;

        txt = mc.createTextField('txt', mc.getNextHighestDepth(),0,0,width,height);
        txt.text = _txt;
        txt.type = "dynamic";
        txt.autoSize = false;
        txt.border = false;
        txt.background = false;
        txt.embedFonts = true;
        txt.wordWrap = true;
        txt.multiline = true;
        txt.selectable = false;
        myTextFormat = new TextFormat();
        myTextFormat.font = "MSS";
        myTextFormat.size = 22;
        txt.setTextFormat(myTextFormat);
        bmp = new BitmapData(txt._width, txt._height, true);
       
        mc.attachBitmap(bmp, mc.getNextHighestDepth(), 'auto', true);
       
        var matr:Matrix = new Matrix();
        var myColorTransform:ColorTransform = new ColorTransform(0, 0, 0, 1, 0, 0, 0, 0);
        var blendMode:String = "normal";
        var myRectangle:Rectangle = new Rectangle(0, 0, txt._width, txt._height);
        var smooth:Boolean = true;

        bmp.draw(txt);
        bmp.draw(txt, matr, myColorTransform, blendMode, myRectangle, smooth);

        txt.removeTextField();       
       
    return mc;
}

Получаю битмап с текстом на белом фоне.
Интересует с чисто теоретической стороны - где я не указал прозрачность

iNils 08.05.2007 20:01

Код:

bmp = new BitmapData(txt._width, txt._height, true, 0x00);

Idalgo 08.05.2007 20:08

Т.е. просто transparent указывать недостаточно? Бум знать. Спасибо.


Часовой пояс GMT +4, время: 12:03.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.