【发布时间】:2013-12-24 21:52:18
【问题描述】:
这是我想要了解的灰度过滤器代码
class GrayScale extends RGBImageFilter {
@Override
public int filterRGB(int x, int y, int rgb) {
int a = rgb & 0xff000000;
int r = (rgb >> 16) & 0xff;
int g = (rgb >> 8) & 0xff;
int b = rgb & 0xff;
rgb = (r * 77 + g * 151 + b * 28) >> 8;
return a | (rgb << 16) | (rgb << 8) | rgb;
}
}
【问题讨论】:
-
rgb & 0xff000000表示您对 rgb 颜色应用蒙版以获取其 alpha 值。