我有一个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;
}

10-07 19:28
查看更多