短视频app开源源码android 给图片加文字、图片水印
16lz
2021-01-23
实现原理:
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; } } };
更多相关文章
- Android Bitmap 缩放 旋转 水印 裁剪操作
- Android 图片加水印
- android 给图片加水印
- android实现自定义相机以及图片的水印
- Android 为图片添加文字水印
- Android清空画布
- android clipPath切割画布
- ArcGIS Runtime SDK for Android 100.x系列中如何去除水印和ESRI