在android中添加水印图像

在android中添加水印图像,android,android-layout,Android,Android Layout,我有代码添加水印在图像像这样 public static Bitmap mark(Bitmap src, String watermark, Point location, Color color, int alpha, int size, boolean underline) { int w = src.getWidth(); int h = src.getHeight(); Bitmap result = Bitmap.

我有代码添加水印在图像像这样

public static Bitmap mark(Bitmap src, String watermark, Point location, Color color, int alpha, int size, 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();
            paint.setColor(color.RED);
            paint.setAlpha(alpha);
            paint.setTextSize(size);
            paint.setAntiAlias(true);
            paint.setUnderlineText(underline);
            canvas.drawText(watermark, location.x, location.y, paint);

            return result;
        }
我用这个代码调用这个函数

mark(bitmap, "watermark", b, null, c, 100, false);
            imgshoot.setImageBitmap(bitmap);

但是什么也没发生,你能帮我吗??谢谢

您没有将返回的位图
结果
分配给任何内容。用新位图替换旧位图

 bitmap = mark(bitmap, "watermark", b, null, c, 100, false);
 imgshoot.setImageBitmap(bitmap);
编辑:

根据评论,您仍然存在问题:尝试硬编码一些参数,以进行测试。看看你的参数是否有问题

        Paint paint = new Paint();
        paint.setColor(color.RED);
        //paint.setAlpha(alpha);
        paint.setTextSize(20); //size
        //paint.setAntiAlias(true);
        paint.setUnderlineText(underline);
        canvas.drawText(watermark, 10, 10, paint); //location.x, location.y

它解决了,我只是对代码做了一些修改,谢谢你的建议,末日骑士:)

我用这个函数调用

bitmap = mark(bitmap, "Hallo");
imgshoot.setImageBitmap(bitmap);

@亚雅:看我的编辑。您的代码必须包含第一位。但你似乎有两个问题。试着像我一样努力编码参数。看看会发生什么。如果可行,请检查您的参数,看看哪一个有故障。:)很抱歉,也没有发生任何情况,meaby我的水印图像代码错误:(
bitmap = mark(bitmap, "Hallo");
imgshoot.setImageBitmap(bitmap);
private Bitmap addWaterMark(Bitmap src) 
{
    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);
    Bitmap waterMark = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.ic_laucher);
    canvas.drawBitmap(waterMark,0,0,null);

    return result;
}