AS3 Loader игнорирует прозрачность .png - PullRequest
0 голосов
/ 09 июля 2009

В Flash CS4 откройте новый документ, измените цвет фона на что-нибудь узнаваемое (например, пурпурный) и добавьте следующий код:

var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e:Event){addChild(e.target.content);});
loader.load(new URLRequest('newsnakelub8.png'));

... заменив имя файла .png на любое, которое вам пригодится, я схватил этот . Скомпилируйте .swf и присоединитесь ко мне со вздохом разочарования - обычно прозрачный .png теперь имеет белый фон, не позволяя фону вспышки просвечивать.

Есть ли волшебное свойство 'TreatAsPNG24', которое мне где-то не хватает?

Ответы [ 4 ]

6 голосов
/ 09 июля 2009

На самом деле изображение не имеет прозрачного фона ...

alt text
(источник: liranuna.com )

Для вашего удовольствия исправлено изображение:

alt text

1 голос
/ 09 февраля 2011
    public static function getSource(stringURL:String):void {
        currentProcessedURL = stringURL;
        var loader:Loader = new Loader();
        var request:URLRequest = new URLRequest(stringURL);
        loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
        loader.load(request);               
    }

    private static function onComplete(e:Event):void {
        try{
            var bitMap:BitmapData = new BitmapData(
                (e.currentTarget as LoaderInfo).loader.width,
                (e.currentTarget as LoaderInfo).loader.height);
            bitMap.draw((e.currentTarget as LoaderInfo).loader);
            var icon:BitmapSymbol = new BitmapSymbol();
            icon.source = bitMap;
            standardStringToImage[currentProcessedURL] = icon;      
            getSource(ALL_ARRAY.pop());
        } catch(e:Error) {
            trace(e);
        }           
    }

Выполнение чего-либо подобного загрузит изображения с белым фоном. Параметры, true, 0x00ffffff необходимо добавить в конструктор BitmapData. Я нашел эту тему, потому что у меня были белые фоны, загруженные PNG, и я знал, что у них прозрачный фон. Так что, надеюсь, это поможет всем, у кого была та же проблема, что и у меня.

1 голос
/ 09 июля 2009

Проблема в вашем PNG. Попробуйте открыть его в Photoshop, и там он тоже не будет прозрачным. Попробуйте другой - Google или опубликовать один из Flash или PS - и он будет работать нормально. (То есть настройки для вызова нет, вам просто нужно правильное изображение.)

0 голосов
/ 09 июля 2009

Так как лучше научить вас ловить рыбу ...

Если вы используете GIMP 2 (бесплатно, как в пиве), просто откройте изображение, выберите Слой | Прозрачность ... | Цвет в Альфа и выберите цвет, который вы хотите преобразовать в прозрачный фон.

...