これを試して
private Drawable fillBitmap(Bitmap bitimg1, int r, int g, int b) {
Bitmap bitimg = bitimg1.copy(bitimg1.getConfig(), true);
int a = transperentframe;
Drawable dr = null;
for (int x = 0; x < bitimg.getWidth(); x++) {
for (int y = 0; y < bitimg.getHeight(); y++) {
int pixelColor = bitimg.getPixel(x, y);
int A = Color.alpha(pixelColor);
bitimg.setPixel(x, y, Color.argb(A, r, g, b));
}
}
Bitmap resizedBitmap = Bitmap.createScaledBitmap(bitimg,
framewidth + 10, frameheight, true);
dr = new BitmapDrawable(getResources(), resizedBitmap);
return dr;
}
このコードを使用して、非透明領域に色を塗りつぶし、透明領域をそのまま残しました。
次のように確認することもできます。
if(canvasBitmap.getPixel(x, y) == Color.TRANSPARENT)
必要に応じて他の方法を適用して、任意の色 Color.BLUE を比較できます。