我只是試圖繪製/繪製到Android的畫布。但是,當我使用十六進制值或使用setARGB方法設置顏色時,它不起作用。但是當我使用Color.x(例如Color.GREEN)時,它可以工作。這裏的代碼:Android顏色(Paint中的setColor)需要負整數?
Bitmap image = Bitmap.createBitmap(bitmapWidth, bitmapHeight, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(image);
Paint paintBackground = new Paint();
int green = Color.argb(0, 0, 255, 0); // 65280 (Won't work)
green = 0x0000ff00; // 65280 (Won't work)
paintBackground.setARGB(0, 0, 255, 0);
green = paintBackground.getColor(); // 65280 (Won't work)
green = Color.GREEN; // -16711936 (Works!)
paintBackground.setColor(green);
green = paintBackground.getColor(); // -16711936
paintBackground.setStyle(Paint.Style.FILL);
canvas.drawRect(0, 0, bitmapWidth, bitmapHeight, paintBackground);
所以基本上Color.GREEN返回-16711936 - 和這個作品。 但是,十六進制值是65280 - 這不起作用。也就是說,它不繪製綠色的矩形。
我需要,因爲我需要的顏色以後設置爲0x00ffff00
這裏,然後以不同的十六進制值使用十六進制值。
確實安卓色彩(在畫圖的setColor)需要一個負整數?
謝謝!對我而言,總是疏於監督。我正在使用Java AWT中的示例代碼,並將alpha設置爲0 - 以便將我拋棄。現在我需要弄清楚爲什麼他們將alpha設置爲零以及爲什麼它們對他們有效...... – Jason