Stamper is a tool for stamping a pattern into a picture,it likes a watermark.

Stamper是一个给图片打水印的工具,支持图片水印和文字水印,水印位置可以任意调节。

效果图:

 

实现原理:

Stamper将原图当作画布,把水印图或者文字画入原图中。生成bitmap。

Stamper使用方法:

1.添加依赖

Step 1. Add the JitPack repository to your build file; Add it in your root build.gradle at the end of repositories:

 allprojects {repositories {...maven { url 'https://jitpack.io' }}}

Step 2. Add the dependency

 dependencies {implementation 'com.github.KernHu:Stamper:1.1'}

2.代码部分:

1.use it stamp a text;

Bitmap bitmap3 = BitmapFactory.decodeResource(getResources(), R.drawable.sample_plot_3);
Stamper.with(MainActivity.this).setLabel("National Geography").setLabelColor(getResources().getColor(R.color.theme))//Color.rgb(255, 60, 70).setLabelSize(60).setMasterBitmap(bitmap3).setStampType(StampType.TEXT).setStampPadding(new StampPadding(bitmap3.getWidth() / 4, bitmap3.getHeight() / 6)).setStampWatcher(mStampWatcher).setRequestId(1001).build();

2.use it stamp a image;

Bitmap bitmap4 = BitmapFactory.decodeResource(getResources(), R.drawable.sample_plot_4);
Bitmap watermark = BitmapFactory.decodeResource(getResources(), R.drawable.ic_watermark);
Stamper.with(MainActivity.this).setMasterBitmap(bitmap4).setWatermark(watermark).setStampType(StampType.IMAGE).setStampPadding(new StampPadding(bitmap4.getWidth() - watermark.getWidth() - 40, 40)).setStampWatcher(mStampWatcher).setRequestId(1002).build();

3.the callback

StampWatcher mStampWatcher = new StampWatcher() {@Overrideprotected void onSuccess(Bitmap bitmap, int requestId) {super.onSuccess(bitmap, requestId);switch (requestId) {case 1001://the result of text stamperbreak;case 1002://the result of image stamperbreak;}}@Overrideprotected void onError(String error, int requestId) {super.onError(error, requestId);switch (requestId) {case 1001://break;case 1002://break;}}};

完成代码见github:

https://github.com/KernHu/Stamper

android 给图片加文字、图片水印相关推荐

  1. iOS修改图片尺寸和裁剪功能以及 图片上加图片 图片加文字(水印效果)

    1.修改图片尺寸 - (  UIImage  *)imageWithImageSimple:(  UIImage  *)image scaledToSize:(  CGSize  )newSize { ...

  2. PHP实现给图片加文字水印

    PHP实现给图片加文字水印 一.开发环境 1.Windows+Apache+MySQL+PHP的环境. 2.文本编辑器:Sublime. 二.主要技术 PHP+HTML+CSS 三.效果图与具体步骤 ...

  3. ASP.NET(C#)图片加文字、图片水印

    ASP.NET(C#)图片加文字.图片水印 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 2 ...

  4. Java图片加文字水印

    Java图片加文字水印 import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.I ...

  5. 【Android】ImageView图片装饰 文字、水印、边框(94/100)

    自定义装饰ImageView类:DecorateImageView public class DecorateImageView extends ImageView {private Paint mP ...

  6. 阿里云 OSS 对象存储 OSS 图片加文字水印

    阿里云 OSS 对象存储 实际开发需先阅读 阿里云 [OSS快速入门文档](https://help.aliyun.com/document_detail/31883.html?spm=5176.20 ...

  7. 图片加文字(批量水印 批量水印大师)

    图片加文字(批量水印 批量水印大师) 批量水印大师是一款好用的批量添加水印软件.三步操作即可轻松完成. 第一步: 添加图片 - 选择需要添加水印的图片文件. 第二步:水印设置 - 设置水印效果,所见即 ...

  8. 给图片加文字,加图片

    '''给图片加文字''' from PIL import Image, ImageDraw, ImageFontfile = 'C:\\Users\\14399\\Desktop\\new_1.png ...

  9. PIL实现两张图片合成一张,和图片加文字

    PIL实现两张图片合成一张,和图片加文字 文章目录: 一.PIL实现两张图片合成一张 1.方法一: 2.方法二 二.图片添加文字 首先说明一下: (小姐姐是谁,是my sweetheart ,请勿使用 ...

  10. 又优化了一下 Android ListView 异步加载图片

    写这篇文章并不是教大家怎么样用listview异步加载图片,因为这样的文章在网上已经有很多了,比如这位仁兄写的就很好: http://www.iteye.com/topic/685986 我也是因为看 ...

最新文章

  1. 一键生成HTML4和WAP站
  2. 网络名称空间 实例研究 veth处于不同网络的路由问题
  3. RESTful Web 服务 - 方法
  4. PHP中 对象自动调用的方法:__set()、__get()、__tostring()
  5. Day08-函数(3)
  6. Spring 三层架构
  7. 双对数坐标系matlab绘图,EXCEL自动计算液塑限并绘制图表至双对数坐标系.doc
  8. 基金指数温度怎么算_壁挂炉采暖费怎么算?从两千到八百,内行人教你别再花冤枉钱...
  9. vmware下ubuntu不能上网 = 恢复默认虚拟网络
  10. 在matlab中使用模糊编辑器实现模糊控制器的设计详解
  11. js判断浏览器是pc端还是手机端
  12. SharePoint 2013 App Development读书笔记1
  13. c语言tft屏浮点数显示,编个可显示中文的TFT程序
  14. 传感器--电阻应变片传感器
  15. 全球“最能打”的8位功夫明星:中国有3人,没成龙也没甄子丹
  16. Dirty Pipe – Linux 内核本地提权漏洞
  17. 《Python黑帽子:黑客与渗透测试编程之道》读书笔记(三):scapy——网络的掌控者
  18. 【Angular】angular2+中没有*ngShow/ng-show,取而代之的是hidden
  19. GAMIT 安装 Make sure the common libraries are curren
  20. 服务器的视频监控系统,大华铁道客车车载视频监控解决方案

热门文章

  1. 软件工程-第二章 软件过程
  2. 关于国产化系统银河麒麟(Kylin)的问题记录--持续更新
  3. 域 用户和计算机名,域环境中计算机名称解析
  4. 我的世界基java版刷怪机制_我的世界1.8版本刷怪机制_我的世界代码1.8版本刷怪机制_快吧单机游戏...
  5. GUID分区表的学习
  6. 南京大学交叉培养计算机与金融招生人数,教务处组织召开计算机与金融工程实验班师生见面会...
  7. bytebuddy实现原理分析 源码分析 (三)- advice 详解
  8. 华为服务器在哪里看型号,服务器型号怎么看
  9. 利用PE安装ISO镜像(以及精简版镜像)/安装忍术渗透系统
  10. 20200414-AMD的Ryzen5-4500U的性能对比测试(宏碁SF314(Acer)传奇 14英寸 )