思路:这里用到的是图像求交。现在画布上画上圆形,即所需要的圆形头像,然后设置paint的属性设置为求交集,再将bitmap划到canvas上面就好了。代码如下: 1 private static Bitmap getCircleBitmap(Bitmap bitmap) { 2 ...
分类:
其他好文 时间:
2015-06-18 15:00:48
阅读次数:
154
相关参考资料:GDI下实现双缓冲 -http://jingyan.baidu.com/article/e73e26c0f8df2424acb6a76e.html用双缓冲技术实现真个的平滑 -http://www.myexception.cn/program/1407847.html设置双缓冲减少窗体...
1、画图的主要方法 //Bitmap:图片对象,left:向左偏移。top: 顶部偏移 drawBitmap(Bitmap bitmap, float left, float top, Paint paint)2、对图片剪接和限定显示区域 drawBitmap(Bitmap bitmap, Rec....
分类:
移动开发 时间:
2015-06-17 11:07:20
阅读次数:
167
工作需要,对这方面做了一些了解
一般的手写对android canvas有点理解的应该都知道,只需要单纯的使用drawPath就可以在view上画画。
而手写笔的关键则是要让path的strokeWidth发生变化
这个令人头大了, 毕竟setPaint只能够设置一个paint,一旦改变paint的参数,整个path都会发生改变。
所以,我们只能够另辟蹊径。...
分类:
移动开发 时间:
2015-06-17 09:48:08
阅读次数:
228
最近在用RecyclerView做开发,偷个懒就借用android提供sample中的DividerItenDecoration类做分隔线,没想到中间出现了分隔线不显示的情况,为了找出原因,我在类里面加了个Paint,在同样的地方画一根线,这个线显示出来了,原来的分隔线还是没有显示出来,可能是get...
分类:
其他好文 时间:
2015-06-15 18:25:00
阅读次数:
108
一、各种旋转、改变大小注意:先要添加画图相关的using引用。//向右旋转图像90°代码如下:private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e){Graphics g = e.Graphics;...
上一篇主要讲了Canvas的translate(平移) 、scale(缩放) 、rotate(旋转) 、skew(错切),接下来几篇主要讲下android里的Path(封装了贝塞尔曲线)& Canvas里的drawPath(path,paint);
很多人听到贝塞尔曲线,就觉得似乎挺高端大气上档次,后面会和大家一起揭开它的面纱,一睹真容;
Path(路径):
我们先看看Path类里有哪些方法...
分类:
其他好文 时间:
2015-06-15 01:46:15
阅读次数:
239
避免在循环中使用内存也可理解为在循环中尽可能少创建对象,自定义控件避免在ondraw里面频繁创建paint对象。尽可能避免内存分配对象缓存:常量通过类级别或者静态来进行缓存。对象池:同一种类型的多种对象,考虑使用对象池而不是分配频繁的分配内存。(不是很理解,还需深入学习)使用ArrayList.an...
分类:
移动开发 时间:
2015-06-14 16:35:50
阅读次数:
167
书接上回在xml里建立属性,然后java代码里用typedArray获得这些属性,得到属性后,利用属性做一些事.例:得到xml里的color,赋给paint.1.在res/values/下新建attrs.xml[html]view plaincopyformat详解可参照http://blog.cs...
分类:
移动开发 时间:
2015-06-13 21:29:35
阅读次数:
135
只有生成二维码的代码优点是占用方法数比较少 以防65535public class QRcodeUtil { static Paint paint; static { paint = new Paint(); // 设置一个笔刷大小是3的黄色的画笔 paint.setColor(Color.BL.....
分类:
移动开发 时间:
2015-06-11 20:51:17
阅读次数:
277