flex位图数据绘制 - 如何设置在哪里绘制
问题描述:
我有一个类创建一个类与bitmapData合并2 IBitmapDrawable。 其中一个是24 * 20,而另一个是16 * 16。 我想先画一个bitmapData对象,它的宽度和高度都是24 * 20 ,但是我想把它画在大范围的中心。flex位图数据绘制 - 如何设置在哪里绘制
没有人知道如何做到这一点? 感谢...
if (baseIcon) {
var result:BitmapData = new BitmapData(baseIconWidth,baseIconHeigt,true, 0x00FFFFFF);
result.draw(baseIcon,new Matrix(1, 0, 0, 1, 0, 0));
if (indicatorIcon) {
result.draw(indicatorIcon,new Matrix(1, 0, 0, 1, 0, 0));
}
bitmapData = result;
baseIcon = null;
}
答
看matrix
参数的BitmapData.draw,使用翻译矩阵。
答
试试这个:
if (baseIcon) {
var result:BitmapData = new BitmapData(baseIconWidth,baseIconHeigt,true, 0x00FFFFFF);
var m:Matrix = new Matrix();
m.translate(baseIconWidth/2 - baseIcon.width/2,baseIconHeight/2 - baseIcon.height/2);
result.draw(baseIcon,m);
if (indicatorIcon) {
result.draw(indicatorIcon,new Matrix(1, 0, 0, 1, 0, 0));
}
bitmapData = result;
baseIcon = null;
}