Thema: BitmapData
Einzelnen Beitrag anzeigen
Alt 19-07-2005, 14:36   #62 (permalink)
Seedianer
dude
 
Benutzerbild von Seedianer
 
Registriert seit: Apr 2005
Beiträge: 560
Zitat:
Zitat von Alois
ach ja, noch etwas Stoff :
ActionScript:
  1. var w=myMC._width;
  2. var h=myMC._height;
  3. var greyscale = new flash.display.BitmapData(w,h,true);
  4. var bmh=this.createEmptyMovieClip("bmp_holder",3);
  5. bmh.attachBitmap(greyscale,1,"auto",true);
  6. greyscale.draw(myMC);
  7. for(var i=0;i<w;i++){
  8.         for(var j=0;j<h;j++){
  9.                 var pix=greyscale.getPixel(i,j)>>16;
  10.                 /*einfach nur den Rotanteil nutzen bringt meist
  11.                 recht gute Graustufenbilder, aber man kann natürlich
  12.                 auch eine Mischung aus rgb testen*/
  13.                 pix=pix<<16|pix<<8|pix;
  14.                 greyscale.setPixel(i,j,pix);
  15.         }
  16. }
...habs jetzt aus einer anderen Bastelei von mir rauskopiert, aber das dürfte so gehen...
statt den for's würde ich while benutzen die sind schneller

ActionScript:
  1. var i = w;
  2. while ( -- i > -1){
  3.    var j = h;
  4.    while ( -- j > -1){
  5.       var pix=greyscale.getPixel(i,j)>>16;
  6.       /*einfach nur den Rotanteil nutzen bringt meist
  7.              recht gute Graustufenbilder, aber man kann natürlich
  8.              auch eine Mischung aus rgb testen*/
  9.       pix=pix<<16|pix<<8|pix;
  10.       greyscale.setPixel(i,j,pix);
  11.      }
  12. }
__________________
grüße aus dem sonnigen Weil am Rhein

Seedianer
Seedianer ist offline   Mit Zitat antworten