使用 Glide 在 Android 中添加标记水
Add markerwater in Android using Glide
我有在 imageview 上添加位图的代码:
try {
Glide.with(imagen.getContext())
.load(item.getIdImagen())
.into(imagen);
} catch(Exception e) {
}
我也有添加水印的代码:
public Bitmap applyWaterMarkEffect(Bitmap src, String watermark, int x, int y, int color, int alpha, int size, boolean underline) {
int w = src.getWidth();
int h = src.getHeight();
Bitmap result = Bitmap.createBitmap(w, h, src.getConfig());
Canvas canvas = new Canvas(result);
canvas.drawBitmap(src, 0, 0, null);
Paint paint = new Paint();
paint.setColor(color);
paint.setAlpha(alpha);
paint.setTextSize(size);
paint.setAntiAlias(true);
paint.setUnderlineText(underline);
canvas.drawText(watermark, x, y, paint);
return result;
}
问题是我不知道如何将它们组合在一起以显示所有内容。我应该让图像(位图)作为参数传递吗?那么,我该如何获取呢?
谢谢!
你应该自己做 custom transformation
您在转换中获得原始位图 class,添加水印,然后 return 带水印的位图。
比你能做到的要简单
Glide
.with(context)
.load(someUrl)
.bitmapTransform(new WatermarkTransformation(context))
.into(imageView);
我有在 imageview 上添加位图的代码:
try {
Glide.with(imagen.getContext())
.load(item.getIdImagen())
.into(imagen);
} catch(Exception e) {
}
我也有添加水印的代码:
public Bitmap applyWaterMarkEffect(Bitmap src, String watermark, int x, int y, int color, int alpha, int size, boolean underline) {
int w = src.getWidth();
int h = src.getHeight();
Bitmap result = Bitmap.createBitmap(w, h, src.getConfig());
Canvas canvas = new Canvas(result);
canvas.drawBitmap(src, 0, 0, null);
Paint paint = new Paint();
paint.setColor(color);
paint.setAlpha(alpha);
paint.setTextSize(size);
paint.setAntiAlias(true);
paint.setUnderlineText(underline);
canvas.drawText(watermark, x, y, paint);
return result;
}
问题是我不知道如何将它们组合在一起以显示所有内容。我应该让图像(位图)作为参数传递吗?那么,我该如何获取呢?
谢谢!
你应该自己做 custom transformation
您在转换中获得原始位图 class,添加水印,然后 return 带水印的位图。
比你能做到的要简单
Glide
.with(context)
.load(someUrl)
.bitmapTransform(new WatermarkTransformation(context))
.into(imageView);