
Код AS3:
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Shape;
import flash.display.Sprite;
public class Example extends Sprite
{
public function Example() {
var commands:Vector.<int> = Vector.<int>([1, 2, 2, 2, 2]);
var data:Vector.<Number> = Vector.<Number>([5, 5, 19, 5, 19, 19, 5, 19, 5, 5]);
var sh:Shape = new Shape();
sh.graphics.beginFill(0xFF00FF, 1);
sh.graphics.drawPath(commands, data);
var bmpdata:BitmapData = new BitmapData(14, 14, false, 0x00FF00);
var bmSh:Bitmap = new Bitmap();
bmSh.bitmapData = bmpdata;
addChild(bmSh);
}
}
}
Однако, Wolsh, должен еще раз Вас поблагодарить за то, что не давали мыслям успокоиться - чего ради я решил, что битмапдата знает, где начинается моя фигура?

Я и должен topLeft Rectangle поместить в точку (0, 0) битмапдаты, т.е. это как раз нормальное действие.
to -De-:
Думаю, нет смысла дальше разбираться, drawPath() рисовал мне фигуру в координатах stage, я должен был перерисовать ее, как на холсте в BitmapData, а для этого недостаточно лишь размеров фигуры

, я решил, что BitmapData.draw() сам перенесет "кисть" в начальную точку. Мой косяк. Пойду виниться в Адобе.