2012-03-27 20 views
0

Ich bin sehr neu in Blackberry Entwicklung. Ich arbeite mit einem Blackberry-Projekt. In diesem Projekt möchte ich Bildeffekte und Kontrolle ändern.! Bildeffekte sind Sepia, Skizze, Graustufen, Negativ, Flip usw. und Kontrollen sind Helligkeit, Kontrast, Farbton usw.Blackberry Bildverarbeitung

Ich habe für Flip-Bild-Effekt versucht. Folgendes ist Code, den ich versucht habe .. Ich habe die Ausgabe, aber es ist mit Originalbild überlappt.

[Bild-Effekt-Flip-Ausgabe]

jeder kann dieses Problem lösen ??

Bitmap Flip (Bitmap Bitmap) {

int[] argb = new int[bitmap.getWidth() * bitmap.getHeight()]; 
    bitmap.getARGB(argb, 0, bitmap.getWidth(), 0, 0, bitmap.getWidth(), bitmap.getHeight()); 
    for (int i = 0; i < bitmap.getHeight(); i++) { 
     for (int j = 0; j < bitmap.getWidth(); j++) { 
      int swap = argb[i * bitmap.getWidth() + j]; 
      argb[(bitmap.getHeight() - 1 - i) * bitmap.getWidth() + j] = swap; 
     } 
    } 


    //bitmap.setARGB(data, 0, bitmap.getWidth(), 0, 0, bitmap.getWidth(), bitmap.getHeight()); 
    Graphics gr=new Graphics(bitmap); 
    gr.clear(0, 0, bitmap.getWidth(), bitmap.getHeight()); 

    bitmap.setARGB(argb, 0, bitmap.getWidth(), 0, 0, bitmap.getWidth(), bitmap.getHeight()); 


    return bitmap; 
} 

jeder kann dieses Problem lösen ??

Antwort

1

Sie müssen sich auf einen neuen ARGB Flip (genannt argb_flip), wie in:

public Bitmap flip(Bitmap bitmap) { 

     int[] argb = new int[bitmap.getWidth() * bitmap.getHeight()]; 

     int[] argb_flip = new int[bitmap.getWidth() * bitmap.getHeight()]; 

     bitmap.getARGB(argb, 0, bitmap.getWidth(), 0, 0, bitmap.getWidth(), bitmap.getHeight()); 
     for (int i = 0; i < bitmap.getHeight(); i++) { 
      for (int j = 0; j < bitmap.getWidth(); j++) { 
       int swap = argb[i * bitmap.getWidth() + j]; 

       argb_flip[(bitmap.getHeight() - 1 - i) * bitmap.getWidth() + j] = swap; 
      } 
     } 

     bitmap.setARGB(argb_flip, 0, bitmap.getWidth(), 0, 0, bitmap.getWidth(), bitmap.getHeight()); 

     return bitmap; 
    } 
+0

Vielen Dank ... Es funktioniert .. –

+0

k.If ich will (Spiegel) Flop das Bild, was sollte ich mache? –