zoukankan      html  css  js  c++  java
  • 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

    1、以专家为榜样,不必自己重新探索
    2、解构技能,找出实现80%效果的那20%
    3、不要一心二用
    4、练习练习再练习!然后获得即时反馈
    5、坚持,不要在低谷期放弃
  • 相关阅读:
    Subversion学习笔记
    单元测试 学习笔记 之五
    单元测试 学习笔记 之四
    将全球通讯簿导入pop3客户端联系人
    isa 2006 sp1发布
    使用POWERSHELL管理OCS 2007
    SCCM 2007 排错
    空空排错日志:OCS错误日志14501等解决办法
    在AD没有备份的情况下还原被删除的数据
    冲击波又回来啦?
  • 原文地址:https://www.cnblogs.com/zhongyuan/p/4090308.html
Copyright © 2011-2022 走看看