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
2、解构技能,找出实现80%效果的那20%
3、不要一心二用
4、练习练习再练习!然后获得即时反馈
5、坚持,不要在低谷期放弃