Có thể "đảo ngược" màu trong bản vẽ không? Loại những gì bạn có trong một tiêu cực, bạn biết không?Đảo ngược màu sắc có thể vẽ được của Android
Tôi biết có thể thay đổi Bản vẽ thành màu đen và trắng ... về màu sắc đảo ngược?
Cảm ơn bạn!
Có thể "đảo ngược" màu trong bản vẽ không? Loại những gì bạn có trong một tiêu cực, bạn biết không?Đảo ngược màu sắc có thể vẽ được của Android
Tôi biết có thể thay đổi Bản vẽ thành màu đen và trắng ... về màu sắc đảo ngược?
Cảm ơn bạn!
Cách tốt nhất để làm điều này sẽ được chuyển đổi drawable của bạn thành một bitmap:
Bitmap fromDrawable = BitmapFactory.decodeResource(context.getResources(),R.drawable.drawable_resource);
Và sau đó đảo ngược nó theo:
https://stackoverflow.com/a/4625618/1154026
Và sau đó trở lại có thể vẽ nếu bạn cần phải:
Drawable invertedDrawable = new BitmapDrawable(getResources(),fromDrawable);
Sau một số nghiên cứu tôi phát hiện ra rằng dung dịch là chất nhầy h đơn giản hơn tôi nghĩ.
Ở đây là:
/**
* Color matrix that flips the components (<code>-1.0f * c + 255 = 255 - c</code>)
* and keeps the alpha intact.
*/
private static final float[] NEGATIVE = {
-1.0f, 0, 0, 0, 255, // red
0, -1.0f, 0, 0, 255, // green
0, 0, -1.0f, 0, 255, // blue
0, 0, 0, 1.0f, 0 // alpha
};
drawable.setColorFilter(new ColorMatrixColorFilter(NEGATIVE));
nhờ làm việc như sự quyến rũ! :) – dreamfighter
tôi có thể tranh luận về "cách tốt nhất" ... – TWiStErRob
Các phiếu đã lập luận đủ vì nó là :) – VicVu