Android中如何给图片添加水印
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍了Android中如何给图片添加水印的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android中如何给图片添加水印文章都会有所收获,下面我们一起来看看吧
千家信息网最后更新 2026年11月02日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安全错误
数据库的锁怎样保障安全
上海喔噻互联网科技有限公司
山东特亿宝互联网科技有限公司
互联网 的科技创新
时间互联网络科技
哈尔滨秒房互联网科技有限公司
互联网实体化科技化
青岛中康互联网医疗科技有限公司
成都互联网科技公司100强
港股科技和互联网
科技类公司包括互联网吗
天津腾达互联网科技有限公司
广州新华互联网科技学校电竞方面
特约风豹互联网科技为什么扣费
互联网科技圈年度人物
黑云互联网科技有限公司
中天科技中国工业互联网
有人说阿里系是互联网科技企业
版纳互联网科技选哪家
众联互联网络科技
互联网高科技绘画
中智农互联网科技
广西互联网科技公司
火传媒上海互联网科技
中国的互联网科技企业的崛起
金融科技与互联网金融相同和不同
佳云科技和互联网广告
成都铂石互联网科技做什么的
燊美集互联网科技有限公司
为客找房互联网科技公司怎么样
黑云互联网科技有限公司