实现原理:

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 dependencydependencies {         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() {        @Override        protected void onSuccess(Bitmap bitmap, int requestId) {            super.onSuccess(bitmap, requestId);            switch (requestId) {                 case 1001:                    //the result of text stamper                     break;                case 1002:                    //the result of image stamper                     break;            }        }         @Override        protected void onError(String error, int requestId) {            super.onError(error, requestId);             switch (requestId) {                 case 1001://                     break;                case 1002://                     break;            }        }    }; 

更多相关文章

  1. Android Bitmap 缩放 旋转 水印 裁剪操作
  2. Android 图片加水印
  3. android 给图片加水印
  4. android实现自定义相机以及图片的水印
  5. Android 为图片添加文字水印
  6. Android清空画布
  7. android clipPath切割画布
  8. ArcGIS Runtime SDK for Android 100.x系列中如何去除水印和ESRI

随机推荐

  1. “已有打开的与此命令相关联的 DataReade
  2. Oracle PLSQL 学习笔记三
  3. SQLSERVER 中表变量与临时表
  4. 急!如何得到sql数据库更新的日志?
  5. SHOW STATUS 查看各种类型SQL执行的频率
  6. 这个查询能用变量写出来吗?
  7. mysql创建任务事件
  8. 通向SQLServer安全级别3的楼梯:主体和安全
  9. mysql 千万级的 count统计对比
  10. 【安全牛学习笔记】MsSQL高级注入