Android examples for Graphics:Bitmap Color
Returns a single RGB int value from YUV data, suitable for passing to Bitmap.setPixel and similar methods.
/* //from w w w . j a v a 2 s. co m * Copyright 2012 Google Inc. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ //package com.java2s; public class Main { /** Returns a single RGB int value from YUV data, suitable for passing to Bitmap.setPixel and similar methods. */ public static int colorFromYuv(byte y, byte u, byte v) { int yy = (0xff & y) - 16; if (yy < 0) yy = 0; // u and v need to be translated to +-128 int uu = (0xff & u) - 128; int vv = (0xff & v) - 128; int y1192 = 1192 * yy; int red = (y1192 + 1634 * vv) >> 10; int green = (y1192 - 833 * vv - 400 * uu) >> 10; int blue = (y1192 + 2066 * uu) >> 10; if (red < 0) red = 0; if (red > 255) red = 255; if (green < 0) green = 0; if (green > 255) green = 255; if (blue < 0) blue = 0; if (blue > 255) blue = 255; return (0xff << 24) | (red << 16) | (green << 8) | blue; } }