Android中如何给图片添加水印
发表于:2025-11-16 作者:千家信息网编辑
千家信息网最后更新 2025年11月16日,这篇文章主要介绍了Android中如何给图片添加水印的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android中如何给图片添加水印文章都会有所收获,下面我们一起来看看吧
千家信息网最后更新 2025年11月16日Android中如何给图片添加水印
这篇文章主要介绍了Android中如何给图片添加水印的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android中如何给图片添加水印文章都会有所收获,下面我们一起来看看吧。
Android 图片添加水印的实现方法
手机端打水印(文字和图片)使用的是Bitmap、Matrix和Canvas类的一些方法, 可以实现拉伸、旋转、位移等等效果。 原理很简单, 就是在画布Canvas上绘制图形、图片、文字等等, 得到你想要的效果图片。
/* 添加全屏斜着45度的文字 / public static Bitmap drawCenterLable(Context context, Bitmap bmp, String text) { float scale = context.getResources().getDisplayMetrics().density; //创建一样大小的图片 Bitmap newBmp = Bitmap.createBitmap(bmp.getWidth(), bmp.getHeight(), Config.ARGB_8888); //创建画布 Canvas canvas = new Canvas(newBmp); canvas.drawBitmap(bmp, 0, 0, null); //绘制原始图片 canvas.save(); canvas.rotate(45); //顺时针转45度 Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); paint.setColor(Color.argb(50, 255, 255, 255)); //白色半透明 paint.setTextSize(100 scale); paint.setDither(true); paint.setFilterBitmap(true); Rect rectText = new Rect(); //得到text占用宽高, 单位:像素 paint.getTextBounds(text, 0, text.length(), rectText); double beginX = (bmp.getHeight()/2 - rectText.width()/2) * 1.4; //45度角度值是1.414 double beginY = (bmp.getWidth()/2 - rectText.width()/2) * 1.4; canvas.drawText(text, (int)beginX, (int)beginY, paint); canvas.restore(); return newBmp; }使用44KB的png图片验证效率:
long begin = System.currentTimeMillis();Bitmap destBmp = ImageUtil.drawCenterLable(this, sourBitmap, "某某公司专用");long end = System.currentTimeMillis();Log.d("brycegao", "打水印用时:" + (end-begin) + "毫秒");mWartermarkImage.setImageBitmap(destBmp);小米4手机输出: D/brycegao: 打水印用时:69毫秒
使用3M字节的jpg图片测试打水印,报OOM错误。
java.lang.OutOfMemoryError: Failed to allocate a 467251212 byte allocation with 16767536 free bytes and 110MB until OOM at dalvik.system.VMRuntime.newNonMovableArray(Native Method) at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:613) at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:446) at android.graphics.BitmapFactory.decodeResource(BitmapFactory.java:469) at android.graphics.BitmapFactory.decodeResource(BitmapFactory.java:501)
关于"Android中如何给图片添加水印"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"Android中如何给图片添加水印"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
图片
水印
文字
知识
内容
手机
效果
方法
画布
篇文章
原始
价值
像素
公司
单位
原理
图形
大小
字节
小米
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库技术经历了哪几个阶段
网络安全进校园活动小结
登录mongo数据库
天堂1服务器
城市网络安全治理
网站服务器搭建与管理下载
数据库中文重复sql语句
计算机网络技术的社会分析
数据库安全注意什么方面
数据库有什么表现形式
深圳智度网络技术有限公司业务
护苗行动网络安全教程
深圳网络安全教育培训
怎么获取数据库大小
军队的网络安全部队
明朝网络安全产业链图谱
通过网络攻击服务器是怎么实现的
mqd服务器怎么样
php写数据库
南京运营网络技术服务收费标准
长宁区信息软件开发定制价格
tomcat配置数据库
软件开发文档资料
铁建重工智慧研究院软件开发
足球经理正在设定游戏数据库
重庆工业软件开发要多少钱
水电站信息化网络安全防护
数据库sql相关论文
网络安全大赛cts
合肥软件开发培训达内