当前位置:   article > 正文

Android 图片添加文字水印方案_安卓开发 bitmap 添加倾斜文字水印

安卓开发 bitmap 添加倾斜文字水印
  1. public static Bitmap drawTextToRightBottom(Context context, Bitmap bitmap, String text, int size, int color, int paddingRight, int paddingBottom) {
  2. Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
  3. paint.setColor(color);
  4. paint.setTextSize(dp2px(context, size));
  5. Rect bounds = new Rect();
  6. paint.getTextBounds(text, 0, text.length(), bounds);
  7. return drawTextToBitmap(context, bitmap, text, paint, bounds,
  8. bitmap.getWidth() - bounds.width() - dp2px(context, paddingRight),
  9. bitmap.getHeight() - dp2px(context, paddingBottom));
  10. }
  11. public static int dp2px(Context context, float dp) {
  12. final float scale = context.getResources().getDisplayMetrics().density;
  13. return (int) (dp * scale + 0.5f);
  14. }
  15. private static Bitmap drawTextToBitmap(Context context, Bitmap bitmap, String text, Paint paint, Rect bounds, int paddingLeft, int paddingTop) {
  16. android.graphics.Bitmap.Config bitmapConfig = bitmap.getConfig();
  17. paint.setDither(true); // 获取跟清晰的图像采样
  18. paint.setFilterBitmap(true);
  19. if (bitmapConfig == null) {
  20. bitmapConfig = android.graphics.Bitmap.Config.ARGB_8888;
  21. }
  22. bitmap = bitmap.copy(bitmapConfig, true);
  23. Canvas canvas = new Canvas(bitmap);
  24. canvas.drawText(text, paddingLeft, paddingTop, paint);
  25. return bitmap;
  26. }

Bitmap处理为例,在使用的地方直接调用:

  1. //得到可用的bitmap
  2. bmp = drawTextToRightBottom(this, bmp1,"123456789 ABC Test", 50, getColor(android.R.color.holo_red_dark), 100, 300);
  3. ……//将bitmap直接设置给view显示或者转成jpg文件输出即可。

可以控制要显示的文字内容、文字大小、文字颜色、并通过右边距和上边距控制位置

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/45691
推荐阅读
相关标签
  

闽ICP备14008679号