2010-07-15 124 views
0

我有一个bitmapdata对象,它填充了n个宽度为1像素,高度不等的矩形。什么是覆盖位图数据的最有效方法

我想运行一个循环并删除旧的矩形,并用另一个替换它。

我应该做一些像像素的每个位图列重置为背景颜色,然后添加我想要的矩形?

for(i:int=0;i<bitmapdata.width;++i) 

{ 
    (for var j:int=0;j<bitmapdata.height;j++) 
{ 
    bitmapdata.setPixel(i,j,0x000000) 
} 

bitmapdata.fillrect(my new rect,0xffffff) 


} 

回答

0

嗯,我注意到你正在使用fillRect的东西,为什么不把它用于一切?只要fillRect有问题的列,然后从下往上做另一个fillRect来制作新的矩形。

我不确定这是否是最快的方法,但您可以尝试copyPixels,我听说它非常快。我的建议是,在没有任何痛苦的情况下组装一个位图,该位图从具有0px高度的列到全高度,并且当您需要X高度的列时,从复制列X处的预制位图,并将其复制到原始“一堆酒吧”图像上的Y列。

希望它有帮助。发表评论,我会尽力在答案中澄清,如果需要的话。

相关问题