我有一个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 :(得分:0)
嗯,我注意到你正在使用fillRect
的东西,为什么不把它用于一切?只需fillRect
相关列,然后从下往上再做一个fillRect
以制作新的矩形。
我不确定这是否是最快的方式,但你可以尝试copyPixels
,我听说这是非常快的。我没有任何痛苦地使用它的建议是组装一个位图,从具有0px高度的列到全高度,当你需要一个X高度的列时,从复制预制X列上的位图,并将其复制到原始“一串条”图像上的Y列。
希望它有所帮助。发表评论,如果需要,我会尽量在答案中澄清。