Android给图片添加认证水印


public static Bitmap drawWatermarkToImage(Bitmap bitmap, Bitmap waterBitmap) {
    android.graphics.Bitmap.Config bitmapConfig = bitmap.getConfig();
    if (bitmapConfig == null) {
        bitmapConfig = android.graphics.Bitmap.Config.ARGB_8888;
    }
    bitmap = bitmap.copy(bitmapConfig, true);

    int rowNum = 3;
    int waterWidth = bitmap.getWidth();
    if (bitmap.getHeight() < bitmap.getWidth()) {
        waterWidth = bitmap.getHeight();
    }
    waterWidth = waterWidth / rowNum;
    waterBitmap = zoomImage(waterBitmap, waterWidth, waterWidth);

    Canvas canvas = new Canvas(bitmap);
    Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
    for (int i = 0; i < rowNum; i++) {
        for (int j = 0; j < rowNum; j++) {
            int x = i * waterWidth;
            int y = j * (bitmap.getHeight() / rowNum);
            canvas.drawBitmap(waterBitmap, x, y, paint);
        }
    }
    return bitmap;
}
public static Bitmap zoomImage(Bitmap bitmap, int newWidth, int newHeight) {
    // 获得图片的宽高
    int width = bitmap.getWidth();
    int height = bitmap.getHeight();
    // 计算缩放比例
    float scaleWidth = ((float) newWidth) / width;
    float scaleHeight = ((float) newHeight) / height;
    // 取得想要缩放的matrix参数
    Matrix matrix = new Matrix();
    matrix.postScale(scaleWidth, scaleHeight);
    // 得到新的图片
    return Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, true);
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值