5

我正在一个android项目中工作,我必须改变墙壁的颜色。例如,如果我拍摄有角落的墙壁的照片并选择一些颜色,比如蓝色。墙壁的颜色应该以这样的方式变化,使墙壁看起来好像是用这种颜色粉刷的。我的意思是说改变颜色后应该保留墙角的阴影。墙不应该看起来像画成扁平的矩形。

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

提前致谢。问候

4

2 回答 2

4

试试下面的链接

如何在android中更改位图图像颜色?

或者

http://www.codeproject.com/Articles/17162/Fast-Color-Depth-Change-for-Bitmaps

或者

如何更改位图android中某些像素的颜色

这可能对您有所帮助。

于 2012-09-26T12:18:56.460 回答
1

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

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;
}
于 2013-05-31T14:00:54.380 回答