0
색상, 채도 델타 및 밝기 델타를 설정하여 Android 드로어 블을 어떻게 색칠 할 수 있습니까?드로어 블을 색칠하는 방법은 무엇입니까?
색상, 채도 델타 및 밝기 델타를 설정하여 Android 드로어 블을 어떻게 색칠 할 수 있습니까?드로어 블을 색칠하는 방법은 무엇입니까?
아직 테스트하지 않았지만 제대로 작동해야합니다.
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);
}
김프 란 무엇입니까? 스크린 샷? –
질문이 바뀌 었습니다. 이제는 김프가 없습니다 ... 어쨌든 내가 원하는 것을하는 방법을 찾았습니다. 테스트 한 후에이 질문에 답할 것입니다. – fhucho