Как нарисовать растровое изображение в Graphics-Object в любой позиции? - PullRequest
0 голосов
/ 30 марта 2011

Можно ли нарисовать растровое изображение в графическом объекте, например

this.graphics.beginBitmapFill(bitmapData, matrix, false);
this.graphics.drawRect(0, 0, w, h);
this.graphics.endFill();

со смещением?Простой вызов moveTo(x, y) перед beginBitmapFill не работает: / Также не изменяется значение x и y в drawRect ... (Это, похоже, имеет тот же эффект, что и перевод с матрицей ...) Кроме того, я этого не делаюХотите нарисовать эту вещь в отдельном графическом объекте и добавить ее в другой ...

Любая подсказка?

Ответы [ 2 ]

2 голосов
/ 15 июня 2011

Здесь немного запоздалый ответ, но так как я нашел этот вопрос, когда гуглял по теме, я решил, что все равно добавлю ответ.

Вы можете использовать комбинацию перевода матрицы и положения для вызова drawRect, чтобы нарисовать растровое изображение в любой позиции графического объекта:

var positionX:int = 100;
var positionY:int = 200;
var matrix:Matrix = new Matrix();

matrix.tx = positionX;
matrix.ty = positionY;

graphics.beginBitmapFill(bitmapData, matrix);
graphics.drawRect(positionX, positionY, bitmapData.width, bitmapData.height);
graphics.endFill();

Если честно, я никогда не до конца понимал, что такое матрица;) и у меня нет интуитивного представления о том, как его использовать, так что вполне могут быть и другие, а может и лучше, способы сделать это, но вышесказанное сработало для меня.

0 голосов
/ 30 марта 2011

вы можете использовать BitmapData (вашего растрового изображения) методы draw () или copyPixels ().

см. Документы:

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/BitmapData.html#draw%28%29

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/BitmapData.html#copyPixels%28%29

...