安卓 rgba图片添加水印
时间: 2023-09-06 22:14:33 浏览: 142
可以通过以下步骤实现:
1. 将原始图片转换为 Bitmap 对象,可以使用 BitmapFactory 的 decodeResource 或 decodeFile 方法。
2. 创建一个新的 Bitmap 对象,大小与原始图片相同。
3. 创建一个 Canvas 对象,并将新的 Bitmap 对象传递给它。
4. 将原始图片绘制到 Canvas 上。
5. 创建一个 Paint 对象,并设置它的属性,例如颜色、字体、大小等。
6. 在 Canvas 上绘制水印,可以使用 drawText 或 drawBitmap 方法。
7. 保存新的 Bitmap 对象到设备上,可以使用 Bitmap 的 compress 方法。
以下是示例代码:
```java
// 加载原始图片
Bitmap srcBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.src_image);
// 创建一个新的 Bitmap 对象
Bitmap newBitmap = Bitmap.createBitmap(srcBitmap.getWidth(), srcBitmap.getHeight(), Bitmap.Config.ARGB_8888);
// 创建 Canvas 对象,并将新的 Bitmap 对象传递给它
Canvas canvas = new Canvas(newBitmap);
// 将原始图片绘制到 Canvas 上
canvas.drawBitmap(srcBitmap, 0, 0, null);
// 创建 Paint 对象,并设置它的属性
Paint paint = new Paint();
paint.setColor(Color.RED);
paint.setTextSize(50);
// 在 Canvas 上绘制水印
canvas.drawText("Watermark", 50, 50, paint);
// 保存新的 Bitmap 对象到设备上
FileOutputStream out = new FileOutputStream("/sdcard/new_image.png");
newBitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
out.flush();
out.close();
```
注意,这里的水印只是一个示例,你可以根据自己的需求修改水印的内容、颜色、位置等。
阅读全文