bitmap 设置透明度
时间: 2023-11-10 11:05:31 浏览: 140
要设置位图的透明度,您需要使用一个 `Paint` 对象,并将 `Paint` 对象的 alpha 值设置为透明度。然后将该 `Paint` 对象传递给 `Canvas` 的 `drawBitmap()` 方法来绘制该位图。以下是一个示例代码:
```java
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.my_image);
Bitmap mutableBitmap = bitmap.copy(Bitmap.Config.ARGB_8888, true); // 创建一个可修改的位图
Canvas canvas = new Canvas(mutableBitmap);
Paint paint = new Paint();
paint.setAlpha(128); // 设置透明度,范围为0到255
canvas.drawBitmap(mutableBitmap, 0, 0, paint);
```
在上面的代码中,我们首先从资源文件中获取位图 `my_image`,然后创建一个可修改的位图对象 `mutableBitmap`,并将其传递给 `Canvas` 对象。然后,我们创建一个 `Paint` 对象,并将其 alpha 值设置为 128(半透明)。最后,我们调用 `Canvas` 对象的 `drawBitmap()` 方法来绘制位图,将 `Paint` 对象作为参数传递给该方法。
注意,这种方式只是在绘制时设置了透明度,而没有改变位图本身的透明度。如果你想要改变位图本身的透明度,你需要使用 `ColorFilter` 对象。
阅读全文