Java tutorial
//package com.java2s; /* * Twidere - Twitter client for Android * * Copyright (C) 2012-2015 Mariotaku Lee <mariotaku.lee@gmail.com> * * 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/>. */ import android.graphics.Color; public class Main { public static int getContrastYIQ(int color, int colorDark, int colorLight) { return getContrastYIQ(color, 128, colorDark, colorLight); } @Deprecated public static int getContrastYIQ(int color) { return getContrastYIQ(color, 128); } @Deprecated public static int getContrastYIQ(int color, int threshold) { return getContrastYIQ(color, threshold, Color.BLACK, Color.WHITE); } /** * Get most contrasting color * * @param color Input color, alpha channel will be disposed. * @return {@link android.graphics.Color#WHITE} or {@link android.graphics.Color#BLACK} * @see <a href='http://24ways.org/2010/calculating-color-contrast/'>Calculating Color Contrast</a> */ public static int getContrastYIQ(int color, int threshold, int colorDark, int colorLight) { final int r = Color.red(color), g = Color.green(color), b = Color.blue(color); final int yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000; return (yiq >= threshold) ? colorDark : colorLight; } }