我应该如何在 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 中为图像添加水印效果? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式在 Android 中为视频添加图像帧或水印

使用 PIL 在 Python 中为图像添加水印

在react-native中,我如何在ios和android的图像上添加水印

在 react-native 中,我如何在 ios 和 android 的图像上添加水印

如何在 Agora android 中添加文字水印?

如何在android中为wav文件添加回声效果?