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() {        @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;            }        }    };

 

完成代码见github:

https://github.com/KernHu/Stamper

 

 

更多相关文章

  1. Android(安卓)开发系列视频教程下载
  2. 逐帧动画入门
  3. android socket通讯
  4. 语音识别为文字
  5. Android(安卓)getDrawable返回ColorDrawable而不是BitmapDrawabl
  6. Android(安卓)Chromium for WebView代码结构
  7. Android简单通讯录的开发
  8. Android(安卓)ImageView 图片设置为透明
  9. Android(安卓)开发TCP、UdP客户端

随机推荐

  1. android启动SDK Manager闪退问题
  2. 点评Android(安卓)App埋点总结
  3. http 请求时间
  4. android之横向滚动图
  5. ZWebView使用简单介绍-Android
  6. android webket的应用,webview,javascrip
  7. android EditText inputAction后键盘保留
  8. Java乔晓松-android中上传图片到服务器To
  9. ImageView的属性 android:scaleType
  10. Android PackageInstaller:安装应用的应用