2015-03-05 2 views
-5

C'est le code source pour déterminer la position du filigrane à insérer. Quelqu'un peut-il aider à expliquer le code source suivant ...? Parce que je ne comprends pas. . . !!!aidez s'il vous plaît à expliquer ce code source java ...!

static int Posisi = 0; 
private int getPosisiX() { 
    int x = Posisi % 3; 
    return x == 0 ? 1 : (x == 2 ? Lebar - Lebar_Watermark - 1 : ((Lebar - Lebar_Watermark) >> 1)); 
} 

private int getPosisiY() { 
    int y = Posisi/3; 
    return y == 0 ? 1 : (y == 2 ? Tinggi - Tinggi_Watermark - 1 : ((Tinggi - Tinggi_Watermark) >> 1)); 
} 

private ArrayList<Pixel> getOpacity(int[] gambarRGB, int[] watermarkRGB, boolean[] unavailable) { 
    java.util.ArrayList<Pixel> pixels = new java.util.ArrayList<Pixel>(Lebar_Watermark * Tinggi_Watermark/2); 
    for (int h = 0, offsetWatermark = 0, offsetOrig = getPosisiY() * Lebar + getPosisiX(); h < Tinggi_Watermark; h++, offsetOrig += Lebar) { 
     for (int w = 0; w < Lebar_Watermark; w++, offsetWatermark++) { 
      int c = watermarkRGB[offsetWatermark]; 
      if (Opacity(c)) { // transparansi 
      } else { 

       pixels.add(new Pixel(w, h, watermarkRGB[offsetWatermark], gambarRGB[offsetOrig + w])); 
       unavailable[offsetOrig + w] = true; 
      } 
     } 
    } 

    return pixels; 
} 
+0

Lire sur Java 8 expressions lambda –

+0

Pouvez-vous envoyer des liens vers des sites ...? Pouvez-vous s'il vous plaît me parler de java 8 expressions lambda ..? Je suis encore un débutant et juste joindre à ce grub –

+0

http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/Lambda-QuickStart/index.html –

Répondre

1

Ceci est ternaire si.

return x == 0 ? 1 : (x == 2 ? Lebar - Lebar_Watermark - 1 : ((Lebar - Lebar_Watermark) >> 1)); 

Ce représentent:

if(x == 0) { 
     return 1; 
    } else { 
     if(x == 2) { 
      return Lebar - Lebar_Watermark - 1; 
     } else { 
      return ((Lebar - Lebar_Watermark) >> 1); 
     } 
    }