Android中如何给图片添加水印

Android中如何给图片添加水印

这篇文章主要介绍了Android中如何给图片添加水印的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android中如何给图片添加水印文章都会有所收获,下面我们一起来看看吧。

Android 图片添加水印的实现方法

Android中如何给图片添加水印

手机端打水印(文字和图片)使用的是Bitmap、Matrix和Canvas类的一些方法, 可以实现拉伸、旋转、位移等等效果。 原理很简单, 就是在画布Canvas上绘制图形、图片、文字等等, 得到你想要的效果图片。

/*添加全屏斜着45度的文字/publicstaticBitmapdrawCenterLable(Contextcontext,Bitmapbmp,Stringtext){floatscale=context.getResources().getDisplayMetrics().density;//创建一样大小的图片BitmapnewBmp=Bitmap.createBitmap(bmp.getWidth(),bmp.getHeight(),Config.ARGB_8888);//创建画布Canvascanvas=newCanvas(newBmp);canvas.drawBitmap(bmp,0,0,null);//绘制原始图片canvas.save();canvas.rotate(45);//顺时针转45度Paintpaint=newPaint(Paint.ANTI_ALIAS_FLAG);paint.setColor(Color.argb(50,255,255,255));//白色半透明paint.setTextSize(100scale);paint.setDither(true);paint.setFilterBitmap(true);RectrectText=newRect();//得到text占用宽高,单位:像素paint.getTextBounds(text,0,text.length(),rectText);doublebeginX=(bmp.getHeight()/2-rectText.width()/2)*1.4;//45度角度值是1.414doublebeginY=(bmp.getWidth()/2-rectText.width()/2)*1.4;canvas.drawText(text,(int)beginX,(int)beginY,paint);canvas.restore();returnnewBmp;}

使用44KB的png图片验证效率:

longbegin=System.currentTimeMillis();BitmapdestBmp=ImageUtil.drawCenterLable(this,sourBitmap,"某某公司专用");longend=System.currentTimeMillis();Log.d("brycegao","打水印用时:"+(end-begin)+"毫秒");mWartermarkImage.setImageBitmap(destBmp);

小米4手机输出: D/brycegao: 打水印用时:69毫秒

使用3M字节的jpg图片测试打水印,报OOM错误。

java.lang.OutOfMemoryError:Failedtoallocatea467251212byteallocationwith16767536freebytesand110MBuntilOOMatdalvik.system.VMRuntime.newNonMovableArray(NativeMethod)atandroid.graphics.BitmapFactory.nativeDecodeAsset(NativeMethod)atandroid.graphics.BitmapFactory.decodeStream(BitmapFactory.java:613)atandroid.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:446)atandroid.graphics.BitmapFactory.decodeResource(BitmapFactory.java:469)atandroid.graphics.BitmapFactory.decodeResource(BitmapFactory.java:501)

关于“Android中如何给图片添加水印”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Android中如何给图片添加水印”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注恰卡编程网行业资讯频道。

发布于 2022-04-11 21:17:50
收藏
分享
海报
0 条评论
26
上一篇:Android中如何在有序广播中添加自定义权限 下一篇:Android中如何利用ViewPager实现图片滑动预览效果
目录

    推荐阅读

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码