![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2005
Сообщений: 64
|
Поскажите как произвести следующую операцию:
Погрузить внешнюю картинку в объект BitmapData. Я пока дошел только до того, что можно сделать mcLoader.loadClip, потом содержимое клипа с картинкой с помощью BitmapData.draw загоняем в объект BitmapData. Вопрос, а проще можно? |
|
|||||
|
|
|
|||||
|
Регистрация: Aug 2005
Сообщений: 64
|
На сколько я знаю этот способ позволяет погружать только картинки из библиотеки! А надо с диска(внешнюю)!
|
|
|||||
|
[+1.1 04.03.2006]
|
__________________
design is like a puzzle, I`m just trying to solve it now... |
|
|||||
|
[+3 23.02.07]
Регистрация: Mar 2006
Сообщений: 104
|
Цитата:
1) они делают банальный loadMovie, а проблема в загрузке в BitmapData. 2) там обсуждается проблема обмена данными между свф файлами, совсем не это. |
|
|||||
|
Регистрация: Feb 2006
Сообщений: 12
|
Посмотри сдесь модет подойдет вроде подгрузка идет с диска
http://www.asfusion.com/blog/entry/a...map-en-flash-8 |
|
|||||
|
Регистрация: Aug 2005
Сообщений: 64
|
Хотя на писано на испанском, а может и нет, не важно, я понял одно...
Как я уже и говорил loadBitmap подгружает только из библиотеки, а то что я написал в посте работает....То есть сначала loadClip, потом draw. |
|
|||||
|
to NewMan_by
Да ты прав. Сначала грузим внешнюю картинку с помощью loadclip, а затем "рисуем" ее в BitmapData при помощи draw(). После этого тот клип, в который грузили картинку можно удалить через removeMovieClip. В дальнейнем BitmapData можно аттачить при помощи attachBitmap(...) Если подумать, то мы получаем достаточно неплохой механизм повторного использования картинок, которые чясто повторяются. Теперь не надо каждый раз "тянуть" их с сервака, можно "закешировать". Также BitmapData предоставляет доступ к пикселям изображения, на него можно накладывать фильтры.
__________________
Никогда не может быть так плохо, чтоб не могло быть еще хуже! |
|
|||||
|
Регистрация: Jun 2006
Сообщений: 78
|
import flash.display.BitmapData;
function init()
{
createEmptyMovieClip("image_mc", 0);
var mcl:MovieClipLoader = new MovieClipLoader();
mcl.addListener(this);
mcl.loadClip("infocom19.jpg", image_mc);
}
function onLoadInit(target)
{
var width:Number = image_mc._width;
var height:Number = image_mc._height;
var myBitmapData:BitmapData = new BitmapData(width, height);
myBitmapData.draw(image_mc);
}
init()
|
|
|||||
function loadBitmapSmoothed(url:String, target:MovieClip)
{
var bmc:MovieClip = target.createEmptyMovieClip("bmc", target.getNextHighestDepth());
var listener:Object = new Object();
listener.tmc = target;
listener.onLoadInit = function(mc:MovieClip)
{
var bitmap:BitmapData = new BitmapData(mc._width, mc._height, true);
this.tmc.attachBitmap(bitmap, this.tmc.getNextHighestDepth(), "auto", true);
bitmap.draw(mc);
};
var loader:MovieClipLoader = new MovieClipLoader();
loader.addListener(listener);
loader.loadClip(url, bmc);
}
__________________
www.maxshaman.com |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:54. |
|
|
« Предыдущая тема | Следующая тема » |
|
|