Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
请帮助解释这个java源代码。。。!_Java_Watermark - Fatal编程技术网

请帮助解释这个java源代码。。。!

请帮助解释这个java源代码。。。!,java,watermark,Java,Watermark,这是确定要插入的水印位置的源代码。任何人都可以帮助解释以下源代码。。。?因为我不明白 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()

这是确定要插入的水印位置的源代码。任何人都可以帮助解释以下源代码。。。?因为我不明白

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;
}
这是特纳伊夫

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

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

阅读有关java 8 lambda Expressions的信息您可以发送网站链接吗。。。?你能告诉我关于java 8 lambda表达式的情况吗。。?我还是一个初学者,只是加入了这个grubI,没有看到任何lamba int代码:/