加水印代码

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(35.0f);//字体大小             textPaint.setTypeface(Typeface.DEFAULT_BOLD);             textPaint.setColor(Color.BLACK);             textPaint.setShadowLayer(3f, 1, 1,context.getResources().getColor(android.R.color.background_dark));             //图片上添加水印的位置,这里设置的是中下部3/4处              canvas.drawText(water, (float)(w*0.05), (float) (h*0.9), textPaint);             canvas.save(Canvas.ALL_SAVE_FLAG);             canvas.restore();             return tarBitmap;         }  

水印代码换行

事实上对于canvas.drawText()是不能实现自动换行的。
在string参数里加入/r/n,都是无效的,所以同TextPaint类
具体代码如下:

public Bitmap addWaterMark1(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);             //启用抗锯齿和使用设备的文本字距               TextPaint textPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG | Paint.DEV_KERN_TEXT_FLAG);             //字体的相关设置              textPaint.setTextSize(35.0f);//字体大小             textPaint.setTypeface(Typeface.DEFAULT_BOLD);             textPaint.setColor(Color.BLACK);             textPaint.setShadowLayer(3f, 1, 1,context.getResources().getColor(android.R.color.background_dark));             StaticLayout layout = new StaticLayout(water, textPaint, 500,                      Alignment.ALIGN_NORMAL, 1.0F, 0.0F, true);             canvas.save();             canvas.translate((float)(w*0.05), (float) (h*0.9));//从20,20开始画             layout.draw(canvas);             canvas.save(Canvas.ALL_SAVE_FLAG);             return tarBitmap;         }  

其中StaticLayout中的参数500,是来设置多长之后 开始换行。

更多相关文章

  1. Android5.0Button字体大小写
  2. android典型代码系列(五)------deviceadmin步骤
  3. 用代码如何检测一个android程序是否在运行
  4. android典型代码系列(二)------sqlite数据库操作高级
  5. android 代码设置、打开/关闭wifi热点及热点的连接、状态查询监
  6. [置顶] Android输入法之——在代码中强制切换和获得当前输入法
  7. 代码中修改TextView的DrawableLeft图片
  8. Android简易音乐播放器实现代码

随机推荐

  1. Android中的模式:Builder模式的优点赏析
  2. android 关于画笔特效的问题
  3. android wifi调试(无线调试) 一步到位
  4. Android:如何自动刷新UI上的元素(无需刷新
  5. 单例模式----设计模式系列
  6. android4.0.4 系统默认值的修改
  7. 添加/修改子项的Firebase通知
  8. android MPChart图标使用详解
  9. 如何在 android 中转换为 'file:///stora
  10. Android SDK更新以及ADT更新出现问题的解