我有一个Android位图,并且我正在尝试更改图像的色相,因为图像是红色块,所以我想仅通过更改色相将其更改为绿色,但是我似乎找不到任何色块在任何地方编码。
有人知道我该怎么做吗?
帆布
最佳答案
好吧,如果您所要做的就是“将红色变为绿色”,则只需切换R和G颜色分量。原始的,但可以为您完成工作。
private Bitmap redToGreen(Bitmap mBitmapIn)
{
Bitmap bitmap = mBitmapIn.copy(mBitmapIn.getConfig(), true);
int []raster = new int[bitmap.getWidth()];
for(int line = 0; line < bitmap.getHeight(); line++) {
bitmap.getPixels(raster, 0, bitmap.getWidth(), 0, line, bitmap.getWidth(), 1);
for (int p = 0; p < bitmap.getWidth(); p++)
raster[p] = Color.rgb(Color.green(raster[p]), Color.red(raster[p]), Color.blue(raster[p]));
bitmap.setPixels(raster, 0, bitmap.getWidth(), 0, line, bitmap.getWidth(), 1);
}
return bitmap;
}