繁体   English   中英

如何更改位图的颜色并保留位图中的阴影?

[英]How to Change the Color of bitmap and retaining shades in bitmap?

我正在一个Android项目中工作,我必须改变墙的颜色。 如果我拍摄有角落的墙壁并选择一些颜色说蓝色的话。 墙的颜色应该改变,使墙看起来好像涂上了那种颜色。 我的意思是说在更改颜色后应保留墙角的阴影。 墙不应该像平面矩形一样。

请让我知道如何做到这一点。

提前致谢。 问候

这是我为完成它而做的事情:

public static Bitmap changeImageColor(Bitmap srcBmp, int dstColor) {

    int width = srcBmp.getWidth();
    int height = srcBmp.getHeight();

    float srcHSV[] = new float[3];
    float dstHSV[] = new float[3];

    Bitmap dstBitmap = Bitmap.createBitmap(width, height, Config.RGB_565);

    for (int row = 0; row < height; row++) {
        for (int col = 0; col < width; col++) {
            Color.colorToHSV(srcBmp.getPixel(col, row), srcHSV);
            Color.colorToHSV(dstColor, dstHSV);

            // If it area to be painted set only value of original image
            dstHSV[2] = srcHSV[2];  // value

            dstBitmap.setPixel(col, row, Color.HSVToColor(dstHSV));
        }
    }

    return dstBitmap;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM