Android でキャンバスにペイント/描画しようとしているだけです。ただし、16 進数値または setARGB メソッドを使用して色を設定すると、機能しません。しかし、Color.x (Color.GREEN など) を使用すると動作します。コードは次のとおりです。
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 を返し、これは機能します。ただし、16 進値は 65280 であり、これは機能しません。つまり、緑色の四角形は描画されません。
0x00ffff00
色をここに設定し、後で別の 16 進値に設定する必要があるため、16 進値を使用する必要があります。
Android Color (ペイントの setColor) には負の整数が必要ですか?