Я пытаюсь создать анимированные обои.Как сделать canvas.drawBitmap прозрачным?
В основном мои обои имеют некоторое фоновое изображение и несколько изображений на переднем плане. Я хочу поменять местами фотографии переднего плана с разными фонами.
У меня есть метод Draw, который выглядит следующим образом:
protected void onDraw(Canvas canvas){
super.onDraw(canvas);
canvas.drawColor(0);
canvas.drawBitmap(background,0,0,null);
canvas.drawBitmap(foreground,x,y,null);
canvas.save();
}
Моя картина переднего плана является PNG, который имеет много прозрачного пространства.
Я загрузил в моем переднем плане картины, как это:
foreground=decodeSampledBitmapFromResource(getResources(), R.drawable.c1, 440,320);
Если метод decodeSampledBitmapFromResource был взят из учебника здесь: https://developer.android.com/training/displaying-bitmaps/load-bitmap.html
Моя проблема заключается в том, что на переднем плане будет отображаться белым цветом, где он должен отображать прозрачный цвет и, таким образом, покрывающий фон уродливым белым прямоугольником.
Мне интересно, есть ли у кого-нибудь советы, чтобы я сделал это прозрачным. Я пробовал настройки options.inPreferredConfig = Bitmap.Config.ARGB_8888; для BitmapFactory, но это не помогло.
Спасибо за ваш ответ, Я действительно пробовал это раньше. SetAlpha установит всю прозрачность изображения. Я хочу, чтобы прозрачная часть изображения была прозрачной, а непрозрачная часть изображения не была прозрачной. – txtcoder