PDA

Просмотр полной версии : Копируем Bitmap


Mkey
17.04.2013, 02:17
Столкнулся с проблемой.
Задача стоит создать копию Битмапа и работать с ней.
Проблема в том, что методы clone() и т.д. и т.п работают только с BitmapData.
//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
paint=new Bitmap(pnl.objs[i].clone());
pnl.objs[i].clone|<-это Bitmap а не BitmapData.
Если без клона, то получается только ссылка, а мне нужен новый объект.

chamele0n
17.04.2013, 03:26
ну можно так

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
paint=new Bitmap(pnl.objs[i].clone());
pnl.objs[i].clone|<-это Bitmap а не BitmapData.

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