Android 实现图片加水印
加水印代码
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(35.0f);//字体大小
textPaint.setTypeface(Typeface.DEFAULT_BOLD);
textPaint.setColor(Color.BLACK);
textPaint.setShadowLayer(3f, 1, 1,context.getResources().getColor(android.R.color.background_dark));
//图片上添加水印的位置,这里设置的是中下部3/4处
canvas.drawText(water, (float)(w*0.05), (float) (h*0.9), textPaint);
canvas.save(Canvas.ALL_SAVE_FLAG);
canvas.restore();
return tarBitmap;
}
水印代码换行
事实上对于canvas.drawText()是不能实现自动换行的。
在string参数里加入/r/n,都是无效的,所以同TextPaint类
具体代码如下:
public Bitmap addWaterMark1(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);
//启用抗锯齿和使用设备的文本字距
TextPaint textPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG | Paint.DEV_KERN_TEXT_FLAG);
//字体的相关设置
textPaint.setTextSize(35.0f);//字体大小
textPaint.setTypeface(Typeface.DEFAULT_BOLD);
textPaint.setColor(Color.BLACK);
textPaint.setShadowLayer(3f, 1, 1,context.getResources().getColor(android.R.color.background_dark));
StaticLayout layout = new StaticLayout(water, textPaint, 500,
Alignment.ALIGN_NORMAL, 1.0F, 0.0F, true);
canvas.save();
canvas.translate((float)(w*0.05), (float) (h*0.9));//从20,20开始画
layout.draw(canvas);
canvas.save(Canvas.ALL_SAVE_FLAG);
return tarBitmap;
}
其中StaticLayout中的参数500,是来设置多长之后 开始换行。
Android 实现图片加水印的更多相关文章
- 火车头dede采集接口,图片加水印,远程图片本地化,远程无后缀的无图片本地化
<?php /* [LocoySpider] (C)2005-2010 Lewell Inc. 火车采集器 DedeCMS 5.7 UTF8 文章发布接口 Update content: 图片加 ...
- thinkphp 3.2.3整合ueditor 1.4,给上传的图片加水印
今天分享一下thinkphp 3.2.3整合ueditor 1.4,给上传的图片加水印.博主是新手,在这里卡住了很久(>_<) thinkphp 3.2.3整合ueditor 1.4 下载 ...
- PHPThumb处理图片,生成缩略图,图片尺寸调整,图片截取,图片加水印,图片旋转
[强烈推荐]下载地址(github.com/masterexploder/PHPThumb). 注意这个类库有一个重名的叫phpThumb,只是大小写的差别,所以查找文档的时候千万注意. 在网站建设过 ...
- php 分享两种给图片加水印的方法
本文章向码农们介绍 php 给图片加水印的两种方法,感兴趣的码农可以参考一下本文章的源代码. 方法一:PHP最简单的加水印方法 <?php // http://www.manongjc.com ...
- Java图片处理(二)图片加水印
图片加水印,是通过图片重叠绘制实现的.实现代码如下: public static void press(String pressImg, String pressText, String target ...
- PHP给图片加水印
<?php /** *图片加水印 *@param $srcImg 原图 *@param $waterImg 水印图片 *@param $savepath 保存路径 *@param $savena ...
- 如何用node.js批量给图片加水印
上一篇我们讲了如何用node.js给图片加水印,但是只是给某一张图片加,并没有涉及到批量处理.这一篇,我们学习如果批量进行图片加水印处理. 一.准备工作: 首先,你要阅读完这篇文章:http://ww ...
- 使用 ImageEnView 给图片加水印,及建缩略图
摘要: 使用 ImageEnView 给图片加水印,及建缩略图 {Power by hzqghost@21cn.com}unit CutWater; interface uses Math,imag ...
- php对图片加水印--将图片先缩小,再在上面加水印
方法: /** * 图片加水印(适用于png/jpg/gif格式) * * @author flynetcn * * @param $srcImg 原图片 * @param $water ...
随机推荐
- [ZJOI2006]物流运输 SPFA+DP
题目描述 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪. ...
- 【USACO07NOV】电话线Telephone Wire
题目描述 电信公司要更换某个城市的网线.新网线架设在原有的 N(2 <= N <= 100,000)根电线杆上, 第 i 根电线杆的高度为 height_i 米(1 <= heigh ...
- hdu 1166 线段树(sum+单点修改)
敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- [BZOJ]1045 糖果传递(HAOI2008)
放一道数学题. Description 有n个小朋友坐成一圈,每人有ai个糖果.每人只能给左右两人传递糖果.每人每次传递一个糖果代价为1. Input 第一行一个正整数n<=1000000,表示 ...
- LCD接口和RGB介绍【转】
转自:https://www.cnblogs.com/hzl6255/p/5470583.html 阅读目录 1. 介绍 2. 接口类型 3. RGB 4. YUV 5. FOURCC 回到顶部 1. ...
- 从零安装Scrapy心得 | Install Python Scrapy from scratch
1. 介绍 Scrapy,是基于python的网络爬虫框架,它能从网络上爬下来信息,是data获取的一个好方式.于是想安装下看看. 进到它的官网,安装的介绍页面 https://docs.scrapy ...
- python绘制散点图,柱状图和折线图
示例:散点图 最常见的散点图之一是x-y散点图.下面的代码会大致告诉你一个matplotlib是如何工作的,你会看到如何一点点建立起一个散点图. 我们正在使用点的x和y位置的一些构成数据.运行下面的代 ...
- postgresql 安装使用
www.postgresql.org去下载你需要的版本,我下载的9.6.8 安装过程中会让你输入一次密码,其余的默认就ok 默认超级用户名postgres 打开 pgadmin4,我们将语言改为中文会 ...
- angularjs+ionic的app端分页和条件
做app项目积分商城的商品列表需要分页显示 实现: ionic滚动条:ion-scroll 用于创建一个可滚动的容器. 附:菜鸟教程:http://www.runoob.com/ionic/ionic ...
- SVN/GIT精简使用教程
MAC 显示点文件 显示:defaults write com.apple.finder AppleShowAllFiles -bool true 隐藏:defaults write com. ...