Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Копируем Bitmap (http://www.flasher.ru/forum/showthread.php?t=197984)

Mkey 17.04.2013 02:17

Копируем Bitmap
 
Столкнулся с проблемой.
Задача стоит создать копию Битмапа и работать с ней.
Проблема в том, что методы clone() и т.д. и т.п работают только с BitmapData.
Код AS3:

//paint=new Bitmap(pnl.objs[i].clone());
        //addChild(paint);
        //paint.x=100;
        //paint.y=100;

Код:

pnl.objs[i]=new Bitmap(new d(0,0));

Zebestov 17.04.2013 02:24

Зависит.
Если тебе нужно сделать независимую копию Bitmap со своей независимой bitmapData, то первый код все правильно делает.
Если же тебе нужно сделать просто еще один экранный объект, который отрисовывает то же изображение, то просто не нужен clone().
Если нужно что-то третье — придется расписать подробней.

Mkey 17.04.2013 02:50

Код AS3:

paint=new Bitmap(pnl.objs[i].clone());

pnl.objs[i].clone|<-это Bitmap а не BitmapData.
Если без клона, то получается только ссылка, а мне нужен новый объект.

chamele0n 17.04.2013 03:26

ну можно так
Код AS3:

var n_bmp:BitmapData = new BitmapData(bitmap.width, bitmap.height, true);
n_bmp.draw(bitmap);
var clone_bitmap:Bitmap = new Bitmap(n_bmp);


Mkey 17.04.2013 03:35

Спасибо вам. Я разобрался с бимапой и битмапдатой. Теперь просто передаю в массиве битмапДату и спокойно создаю объект.
;)

Zebestov 17.04.2013 13:02

Цитата:

Сообщение от Mkey (Сообщение 1130124)
Код AS3:

paint=new Bitmap(pnl.objs[i].clone());

pnl.objs[i].clone|<-это Bitmap а не BitmapData.

Код AS3:

paint = new Bitmap((pnl.objs[i] as Bitmap).bitmapData.clone());



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

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