android+paint+canvas+字符串+水印+BitmapFactory.Options

先不作总结,完成后项目后再说~

 

字符串相关

宽度:

  方法1:Paint.getTextWidths(text, widths)

  方法2:Rect rect = new Rect();              

      pFont.getTextBounds(text, 0, text.length(), rect);

      width=rect.width();

高度:

  m_txtPaint.getFontMetrics().descent - m_txtPaint.getFontMetrics().ascent

自动换行:

    使用Canvas的drawText绘制文本是不会自动换行的,StaticLayout是android中处理文字换行的一个工具类,

  StaticLayout staticLayout = new StaticLayout(str, textPaint, w, Layout.Alignment.ALIGN_OPPOSITE, 1.0F,0.0F, true);
  staticLayout.draw(canvas);

 

水印效果:

原理就是,先拿到原图的width、height,建一个同样宽高的bitmap叫newbitmap,利用newbitmap创建一个canvas,然后drawBitmap() 原图像,再drawBitmap()新的newbitmap

 

BitmapFactory.Options 

加载和显示图片是很消耗内存的一件事,BitmapFactory.Options 类,  允许我们定义图片以何种方式如何读到内存

 

相关链接:

http://blog.csdn.net/ruiyiin/article/details/8675361 // BitmapFactory.Options

http://www.cnblogs.com/meieiem/archive/2012/08/15/2639543.html //图片水印效果比较好的

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0915/1682.html //研究staticLayout

http://blog.csdn.net/linghu_java/article/details/8939952 //研究canvas很不错

http://www.cnblogs.com/feisky/archive/2010/01/10/1643460.html //也不错

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1105/1907.html //关于paint的研究,不错

http://blog.csdn.net/tianjf0514/article/details/7642656 //讲的比较基础

http://mikewang.blog.51cto.com/3826268/871765/ //讲的有点复杂

http://mikewang.blog.51cto.com/3826268/871765/ //讲fontMatrics

转载于:https://www.cnblogs.com/zhongyuan/p/4090308.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值