最近做了一个图片添加水印的功能:传入的参数为:原图的bitmap,水印的字符串,以及context。

原图的bitmap可以先取得图片的文件输入流fis,之后通过 Bitmap bm = BitmapFactory.decodeStream(fis, null, opt); 方法来取得。

添加水印的方法如下:

public Bitmap addWaterMark(Bitmap src, String water, Context context){Bitmap tarBitmap = src.copy(Config.ARGB_8888, true);int w = tarBitmap.getWidth();int h = tarBitmap.getHeight();Canvas canvas = new Canvas(tarBitmap);//启用抗锯齿和使用设备的文本字距 Paint textPaint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.DEV_KERN_TEXT_FLAG);//字体的相关设置textPaint.setTextSize(100.0f);//字体大小 textPaint.setTypeface(Typeface.DEFAULT_BOLD);textPaint.setColor(Color.YELLOW);textPaint.setShadowLayer(3f, 1, 1,context.getResources().getColor(android.R.color.background_dark));//图片上添加水印的位置,这里设置的是中下部3/4处canvas.drawText(water, w/2-50, (float) (h*0.75), textPaint);canvas.save(Canvas.ALL_SAVE_FLAG); canvas.restore();  return tarBitmap;}


更多相关文章

  1. Android(安卓)使用OPENCV实现图像实时对比
  2. Android7.0添加快捷方式(Shortcut)到手机桌面
  3. android String.xlm中使用emoji表情的方法
  4. Android(安卓)Action Bar学习(一)--基本介绍及使用
  5. 软件开发文档(以太网)
  6. android Fragment开发文档翻译 - 1
  7. Android快速开发框架dyh详解(四)---数据层的使用
  8. android listview嵌套gridview动态增加gridview的item项
  9. 第一章:初入Android大门(不同的Activity之间的数据传递与回调--s

随机推荐

  1. 快来,看看spring有多烂-来自jfinaL的嘲笑
  2. Linux上,最常用的一批命令解析(10年精选)
  3. 百度大佬10分钟教会你是前端bug还是后端b
  4. 没有预热,不叫高并发,叫并发高
  5. Linux生产环境上,最常用的一套“AWK“技巧
  6. C语言学习 4.0
  7. 聊聊幂等
  8. 2021.2.5
  9. 实战Spring Boot 2.0系列(一) - 使用Grad
  10. 用C语言实现三子棋(下)