如何在图像上应用alpha渐变以使其线性淡入? 现在,我创建了单位宽度的矩形,并使用它来绘制具有绘制对象的位图,并在循环中更改了Alpha值。我只是做了它,因为我想不出别的。所以一个更好的方法会更好。在图像上创建alpha渐变以创建淡入淡出效果
Bitmap bitmap = BitmapFactory.decodeStream(is);
Bitmap bmp = Bitmap.createScaledBitmap(bitmap, 100, 151, true));
bitmap.recycle();
Rect Rect1 = new Rect(0, 0, 100, 100);
Rect Rect2 = new Rect(100, 0, 101, 100);
Paint paint = new Paint();
canvas.drawBitmap(bmp, Rect1, Rect1, null);
while (paint.getAlpha() != 0) {
paint.setAlpha(paint.getAlpha() - 5);
canvas.drawBitmap(bmp, Rect2, Rect2, paint);
Rect2.set(Rect2.left + 1, Rect2.top, Rect2.right + 1, Rect2.bottom);
}
像这样的事情
附:我正在尝试为动态壁纸做到这一点。
您尝试过GradientDrawable吗?也许有可能把它放在透明的上面...... – sandrstar
@sandrstar我想对图像应用渐变,以便它后面的任何东西都可见。 我想你说的是我可以使用GradientDrawable在图像上放置一个颜色渐变? –
这可以用opengl来完成,但我怀疑你想要走这条路。 – WIllJBD