android实现图片加水印

最近做了一个图片添加水印的功能:传入的参数为:原图的bitmap,水印的字符串,以及context。

原图的bitmap可以先取得图片的文件输入流fis,之后通过 Bitmap bm = BitmapFactory.decodeStream(fis, null, opt); 方法来取得。

添加水印的方法如下:

public Bitmap addWaterMark(Bitmap src, String water, Context context){
		Bitmap tarBitmap = src.copy(Config.ARGB_8888, true);
		int w = tarBitmap.getWidth();
		int h = tarBitmap.getHeight();
		Canvas canvas = new Canvas(tarBitmap);
		//启用抗锯齿和使用设备的文本字距 
		Paint textPaint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.DEV_KERN_TEXT_FLAG);
		//字体的相关设置
		textPaint.setTextSize(100.0f);//字体大小 
		textPaint.setTypeface(Typeface.DEFAULT_BOLD);
		textPaint.setColor(Color.YELLOW);
		textPaint.setShadowLayer(3f, 1, 1,context.getResources().getColor(android.R.color.background_dark));
		//图片上添加水印的位置,这里设置的是中下部3/4处
		canvas.drawText(water, w/2-50, (float) (h*0.75), textPaint);
		canvas.save(Canvas.ALL_SAVE_FLAG); 
		canvas.restore();  
		return tarBitmap;		
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值