Показать сообщение отдельно
Старый 24.12.2011, 18:38
Андрей911 вне форума Посмотреть профиль Отправить личное сообщение для Андрей911 Найти все сообщения от Андрей911
  № 1  
Ответить с цитированием
Андрей911
 
Аватар для Андрей911

Регистрация: Jun 2011
Сообщений: 127
По умолчанию BitmapData.draw рисование части области

Подскажите, как можно нарисовать в BitmapData.draw только часть сцены. Уже целый день мучаюсь.
Нужно нарисовать участок с координатами (x0,y0) и шириной W x H. C размерами проблем не возникает, но рисуется почему-то всегда область начиная от точки (0,0)

В конце концов обошелся кривым обходным путем

Код AS3:
        var bit:BitmapData=new BitmapData(this.width,this.height);
	var rect:Rectangle=new Rectangle(x0,y0,W,H);
	bit.draw(this,null,null,null,rect);
	var nextBit:BitmapData=new BitmapData(W,H);
	nextBit.copyPixels(bit,rect,new Point(0,0));
	jpeg=JPEGEncoder.encode(nextBit,100); //Изображение того участка которого надо.
	nextBit.dispose();
	bit.dispose();
но чувствую, что как-то все таки можно указать координаты области для рисования напрямую. Подскажите, код знающие люди.

Пробовал так
Код AS3:
        var bit:BitmapData=new BitmapData(W,H);
	bit.draw(this,new Matrix(1,0,1,0,x0,y0));
	jpeg=JPEGEncoder.encode(bit,100); 
	bit.dispose();
Все равно рисуется область начиная от (0,0)