Android 如何给可拉丝面料上色?

Android 如何给可拉丝面料上色?,android,colors,drawable,hsl,hsv,Android,Colors,Drawable,Hsl,Hsv,如何通过设置色调、饱和度增量和亮度增量为Android drawable着色?尚未测试此功能,但它应该可以工作 public static BitmapDrawable colorize(BitmapDrawable d, float hue, float saturationDelta, float valueDelta) { Bitmap src = d.getBitmap(); Bitmap b = src.copy(Bitmap.Config.ARGB_8888, tru

如何通过设置色调、饱和度增量和亮度增量为Android drawable着色?

尚未测试此功能,但它应该可以工作

public static BitmapDrawable colorize(BitmapDrawable d, float hue, float saturationDelta, float valueDelta) {
    Bitmap src = d.getBitmap();
    Bitmap b = src.copy(Bitmap.Config.ARGB_8888, true);
    for (int x = 0; x < b.getWidth(); x++) {
        for (int y = 0; y < b.getHeight(); y++) {
            int color = b.getPixel(x, y);
            float[] hsv = new float[3];
            Color.colorToHSV(color, hsv);
            hsv[0] = hue;
            hsv[1] += saturationDelta;
            hsv[2] += valueDelta;
            int newColor = Color.HSVToColor(Color.alpha(color), hsv);
            b.setPixel(x, y, newColor);
        }
    }
    return new BitmapDrawable(b);
}
公共静态位图可绘制颜色(位图可绘制d、浮动色调、浮动饱和度增量、浮动值增量){
位图src=d.getBitmap();
位图b=src.copy(Bitmap.Config.ARGB_8888,true);
对于(int x=0;x
我更改了问题,现在没有GIMP了。。。不管怎样,我发现了如何做我想做的事,我会在测试后回答这个问题。