2010-07-15 5 views
0

J'ai un objet bitmapdata qui est rempli de n rectangles d'une largeur de 1 pixel et de hauteurs variables.quel est le moyen le plus efficace d'écraser bitmapdata

Je veux parcourir une boucle et supprimer l'ancien rectangle et le remplacer par un autre. Dois-je faire quelque chose comme réinitialiser la colonne bitmap de chaque pixel à une couleur d'arrière-plan, puis ajouter le rect je veux?

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) 


} 

Répondre

0

Eh bien, je remarque que vous utilisez fillRect pour quelque chose, pourquoi ne pas l'utiliser pour tout? Juste fillRect la colonne en question, puis faites un autre fillRect de bas en haut pour faire le nouveau rectangle. Je ne sais pas si c'est le moyen le plus rapide de le faire, mais vous pouvez essayer copyPixels, que j'ai entendu est très rapide. Ma suggestion pour utiliser cela sans aucune douleur est d'assembler un bitmap qui va d'une colonne avec 0px hauteur à pleine hauteur, et quand vous avez besoin d'une colonne de hauteur X, copiez de le bitmap pré-fait à la colonne X, et copiez-le dans la colonne Y sur l'image originale "tas de barres".

Espérons que ça aide. Poster des commentaires et je vais essayer de clarifier dans la réponse, si besoin est.

Questions connexes