Форум 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)
-   -   Загрузка битмапов из файла в БитмапДату (http://www.flasher.ru/forum/showthread.php?t=123221)

allah..beerbar 27.03.2009 15:04

Загрузка битмапов из файла в БитмапДату
 
Увожаемые товарисчи
Подскажите пликс каким образом можно загружать битмапы из файла в битмап дату.

Собстно мона загрузить из файла в мувиклип - loadClip'ом. Но как в битмап дату это сделать?

thx

iNils 27.03.2009 15:13

Метод draw класса BitmapData.

nOobCrafter 27.03.2009 16:19

Код AS1/AS2:

MovieClip.prototype.bitmapCopy = function(n:String, d:Number):MovieClip
{
    import flash.display.BitmapData;
    var clip:MovieClip = this._parent.createEmptyMovieClip(n, d);
    var bmp:BitmapData = new BitmapData(this._width, this._height);
    bmp.draw(this);
    clip.attachBitmap(bmp, 0);
    return clip;
}
mc.bitmapCopy("mc2", 1);

Цитата:

mc - имя клипа с изображением
mc2 - имя создаваемого клипа
1 - глубина
Метод по сути тот же duplicateMovieClip(), только работает и с клипами в которые загружено изображение. Еще необходимо использовать MovieClipLoader, так как для использования метода bitmapCopy() необходимо дождаться окончания загрузки и использовать метод bitmapCopy() в событии onLoadInit.
непомню кто не так давно выкладывал тут....

Fatality 27.03.2009 17:15

Брр, неужели я это писал...

allah..beerbar 27.03.2009 17:33

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

например так:
Код AS1/AS2:

var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.loadClip("01.jpg", mc);
 
MovieClip.prototype.bitmapCopy = function(n:String, d:Number):MovieClip
{
    import flash.display.BitmapData;
    var clip:MovieClip = this._parent.createEmptyMovieClip(n, d);
    var bmp:BitmapData = new BitmapData(this._width, this._height);
    bmp.draw(this);
    clip.attachBitmap(bmp, 0);
    return clip;
}
 
mc.bitmapCopy("mc2", 1);


Fatality 27.03.2009 17:44

Еще один ! Писал же:
Цитата:

Еще необходимо использовать MovieClipLoader, так как для использования метода bitmapCopy() необходимо дождаться окончания загрузки и использовать метод bitmapCopy() в событии onLoadInit.
Добавлено через 6 минут
Код AS1/AS2:

MovieClip.prototype.bitmapCopy = function(n:String, d:Number):MovieClip  {
        import flash.display.BitmapData;
        var clip:MovieClip = this._parent.createEmptyMovieClip(n, d);
        var bmp:BitmapData = new BitmapData(this._width, this._height);
        bmp.draw(this);
        clip.attachBitmap(bmp,0);
        return clip;
};
//----------------------------------------------------
var mcLoader:MovieClipLoader = new MovieClipLoader();
var obj:Object = {};
mcLoader.addListener(obj);
mcLoader.loadClip("01.jpg",mc);
obj.onLoadInit = function(mc:MovieClip) {
        mc.bitmapCopy("mc2",1);
};


allah..beerbar 27.03.2009 18:55

Спасибо большое!


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

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