短视频app开源源码android 给图片加文字、图片水印
16lz
2022-03-11
实现原理:
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; } } };
更多相关文章
- 随笔10
- Android(安卓)Bitmap 缩放 旋转 水印 裁剪操作
- Android(安卓)图片加水印
- android 中的 Bitmap 相关
- Android之glide加载图片圆角效果
- android自定义组件
- android 给图片加水印
- Android清空画布
- Android(安卓)中如何自己通过代码绘图