我应该如何在 Android 中为图像添加水印效果? [复制]
Posted
技术标签:
【中文标题】我应该如何在 Android 中为图像添加水印效果? [复制]【英文标题】:How should I add a watermark effect to an image in Android? [duplicate] 【发布时间】:2021-02-15 09:39:42 【问题描述】:我是 android 新手,我想在捕获的图像上添加水印效果,我从 2 天以来一直在尝试找到解决方案,但仍然无法在捕获的图像上添加水印效果,有人可以帮我做错了什么吗在我下面的代码中..
我想在图像底部中间添加水印效果
代码
private void onCaptureImageResult(Intent data)
Bitmap photo;Bitmap watermark_bitmap=null;
String selectedFilePath = null;
if (data.getExtras().get("data") != null)
photo = (Bitmap) data.getExtras().get("data");
watermark_bitmap=Utilities.mark(this,photo,"Hello World",true);
Uri contentUri = Utilities.getImageUri1(
this, watermark_bitmap);
selectedFilePath = ImageFilePath.getPath(
this, contentUri);
newMeter_image.setImageBitmap(watermark_bitmap);
public static Bitmap mark(Context context,Bitmap src, String watermark, boolean underline)
int w = src.getWidth();
int h = src.getHeight();
Bitmap result = Bitmap.createBitmap(w, h, src.getConfig());
Canvas canvas = new Canvas(result);
canvas.drawBitmap(src, 0, 0, null);
Paint paint = new Paint();
int color = ContextCompat.getColor(context, R.color.black);
paint.setColor(color);
paint.setAlpha(1);
paint.setTextSize(5);
paint.setAntiAlias(true);
paint.setUnderlineText(underline);
canvas.drawText(watermark, 50,50, paint);
return result;
【问题讨论】:
这能回答你的问题吗? How to draw text On image? 【参考方案1】:我也会使用相同的方法。
将图像加载到画布中。
画布画布=新画布(结果); canvas.drawBitmap(src, 0, 0, null);
设置油漆并在您想要的位置绘制水印的文本/可绘制/位图。
尝试使用计算值,而不是使用硬编码值 (50,50)。
canvas.drawText("水印",canvas.width/2, canvas.height/2, paint)
这将使水印成为图像的一部分。 如果您想将其分开但创建水印的错觉,那么您可以在 imageView 中将水印显示为 src 并将其覆盖在实际的图像显示视图上。
对不起,如果我误解了。不过请分享一个更好的解决方案!
【讨论】:
以上是关于我应该如何在 Android 中为图像添加水印效果? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
在react-native中,我如何在ios和android的图像上添加水印