Here you can find the source of colorDiff(int a, int b)
Parameter | Description |
---|---|
a | a parameter |
b | a parameter |
public static float colorDiff(int a, int b)
//package com.java2s; /*// w w w. java 2s . c o m * Copyright (C) 2013 dirbaio * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ public class Main { /** * Calculates the difference between two colors. Returns +INF if different * alpha. * * @param a * @param b * @return */ public static float colorDiff(int a, int b) { int ar = a & 0xFF; int ag = (a >> 8) & 0xFF; int ab = (a >> 16) & 0xFF; int aa = (a >> 24) & 0xFF; int br = a & 0xFF; int bg = (a >> 8) & 0xFF; int bb = (a >> 16) & 0xFF; int ba = (a >> 24) & 0xFF; int dr = ar - br; int dg = ag - bg; int db = ab - bb; int da = aa - ba; if (da != 0) return Float.POSITIVE_INFINITY; else return dr * dr + dg * dg + db * db; } }