Android app拍照后给图片加水印并等比缩放 具体代码
时间: 2024-03-01 22:52:49 浏览: 92
好的,以下是一个简单的示例代码,可以帮助你实现给 Android app 拍照后加水印并等比缩放的功能。请注意,这只是一个基本的示例代码,你需要根据自己的需求进行修改。
```java
// 获取拍照后的图片
Bitmap photo = BitmapFactory.decodeFile(photoPath);
// 创建一个与原图大小一致的 Bitmap 对象
Bitmap newPhoto = Bitmap.createBitmap(photo.getWidth(), photo.getHeight(), Bitmap.Config.ARGB_8888);
// 将 Bitmap 对象传入 Canvas 中
Canvas canvas = new Canvas(newPhoto);
// 绘制原图
canvas.drawBitmap(photo, 0, 0, null);
// 创建 Paint 对象
Paint paint = new Paint();
paint.setColor(Color.RED);
paint.setTextSize(50);
// 绘制水印
canvas.drawText("Watermark", 0, 50, paint);
// 计算缩放比例
float scaleWidth = ((float) 200) / photo.getWidth();
float scaleHeight = ((float) 200) / photo.getHeight();
// 创建一个 Matrix 对象
Matrix matrix = new Matrix();
// 设置缩放比例
matrix.postScale(scaleWidth, scaleHeight);
// 通过 Matrix 对象进行缩放操作
newPhoto = Bitmap.createBitmap(newPhoto, 0, 0, newPhoto.getWidth(), newPhoto.getHeight(), matrix, true);
// 将处理后的 Bitmap 显示出来
imageView.setImageBitmap(newPhoto);
```
在上面的代码中,photoPath 是拍照后的图片路径,imageView 是用于显示处理后的图片的 ImageView 控件。你需要将这些代码集成到你的 Android app 中,并根据自己的需求进行修改。
阅读全文