public static Bitmap createWaterMaskBitmap(Bitmap src, Bitmap watermark) {
int paddingTop ;
if (src == null) {
return null;
}
//获取图片宽高
int width = src.getWidth();
int height = src.getHeight();
//获取水印图片宽高
int watermarkWidth = watermark.getWidth();
int watermarkHeight = watermark.getHeight();
//缩小或者放大水印图片 使水印宽度与图片一致
if (width > 0 && watermarkWidth > 0) {
float scale = ((float) width) / watermarkWidth;
// 取得想要缩放的matrix参数
Matrix matrix = new Matrix();
matrix.postScale(scale, scale);
// 得到新的水印图片
watermark = Bitmap.createBitmap(watermark, 0, 0, watermarkWidth, watermarkHeight, matrix, true);
watermarkHeight = watermark.getHeight();
}
if (height > watermarkHeight) {
//设置水印图片竖直位置在图片中间
paddingTop = (height - watermarkHeight) / 2;
} else {
paddingTop = 0;
}
//创建一个bitmap
Bitmap newBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);// 创建一个新的和SRC长度宽度一样的位图
//将该图片作为画布
Canvas canvas = new Canvas(newBitmap);
//在画布 0,0坐标上开始绘制原始图片
canvas.drawBitmap(src, 0, 0, null);
// 建立Paint 物件
Paint vPaint = new Paint();
vPaint.setStyle(Paint.Style.STROKE); //空心
vPaint.setAlpha(80);
//在画布上绘制水印图片
canvas.drawBitmap(watermark, 0, paddingTop, vPaint);
// 保存
canvas.save(Canvas.ALL_SAVE_FLAG);
// 存储
canvas.restore();
return newBitmap;
}
android图片加水印
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 在这个美颜自拍风行的年代,纯粹的自拍已经显得有点落伍了,照片、视频不加上一些独有的印记,好像总觉得缺少点什么,没那...
- 1.加文字 2.加图片 [IOS:UIImage的剪切,尺寸缩小、压缩、添加水印],(http://blog.cs...