----------------------------------------------------------------------------------------------------------------------------------

位图也是一种数据结构,说实话,我到今天才知道,以前真是没听过这东西。我个人的理解就是:一个比特位,有0,1的区分。用这个0,1去作为标示位。我的理解多数是肤浅,不正确的,看看网络上的大牛们的理解吧。

http://dongxicheng.org/structure/bitmap/

http://blog.csdn.net/smfwuxiao/article/details/7161761

http://nemogu.iteye.com/blog/1522332


----------------------------------------------------------------------------------------------------------------------------------


2014-3-11号补充


一直都没有用过Canvas, Paint, 原来害怕碰到这个东西,其实看懂了也就那么回事,没什么难的,是我自己把自己给吓住了。
我之前一直不懂的一件事就是,比如看下面的代码: Bitmap bitmap=Bitmap.createBitmap(200, 200, Config.ARGB_8888);
Canvas canvas=new Canvas(bitmap);
Paint paint=new Paint();
paint.setColor(Color.RED);
paint.setTextSize(25);
canvas.rotate(15);
canvas.drawText("Hello Android 1", 20, 30, paint);
canvas.translate(50, 50);
// 注意:save()方法
// 保存在此save()方法之前的canvas的操作
// 比如:roate(),translate(),clipXXX()
canvas.save();

paint.setColor(Color.GREEN);
paint.setTextSize(15);
canvas.rotate(60);
canvas.translate(-20,-20);
canvas.drawText("Hello Android 2", 20, 60, paint);
//注意:restore()方法
// 将save()方法之后Canvas的roate(),translate(),clipXXX()的操作清空
canvas.restore();
我之前一直以为在调用 canvas.restore(); 之后,在 canvas.save(); 和 canvas.restore(); 之间的这段操作都会被revert掉,就是取消掉,比如我画了一个圆,在我调用该了 canvas.restore() 之后,这个圆就消失了,我之前一直都是这么理解的,但是我试过几次之后,发现并不会消失,然后就没有然后了,就一直不理解着~

今天又看了一下,终于理解了~
其实 canvas.restore(); 之后,是对 canvas.save(); 和 canvas.restore(); 之间的这段操作做一些处理的,但是你已经画上去的东西不会有影响,只是你的类似 rotate,translate, clipRect等操作会被revert,被取消掉,然后恢复到 save() 之前的状态~这才是真正的理解。之前一直都是错误的,真悲剧~


参考链接:
官方文档: http://developer.android.com/guide/topics/graphics/2d-graphics.html

Android画布Canvas的save()和restore()以及clipRect()方法测试
这篇文章很好的解释了Canvas 的save(), restore(), ClipRect()方法。
http://blog.csdn.net/lfdfhl/article/details/9074017
android绘图canvas的sava、restore、rotate以及若干问题,canvas绘图的理解
这个图文并茂,写的也挺好的~
http://blog.csdn.net/dinko321/article/details/7679019


canvas 之save ,与restore

http://www.eoeandroid.com/thread-120962-1-1.html


一个系列的介绍: http://blog.csdn.net/lonelyroamer/article/details/8299812
http://blog.csdn.net/lonelyroamer/article/details/8264189
http://blog.csdn.net/lonelyroamer/article/details/8349601



http://blog.sina.com.cn/s/blog_7f311ef5010183o6.html http://rayleung.iteye.com/blog/440623
http://www.2cto.com/kf/201312/263154.html

http://byandby.iteye.com/blog/826304

http://www.cnblogs.com/playing/archive/2011/05/10/2042241.html

http://blog.csdn.net/xxxx1243/article/details/5834187

http://blog.csdn.net/xxxx1243/article/details/5834155

http://blog.csdn.net/shichaosong/article/details/8110286

http://blog.csdn.net/qinjuning/article/details/6936783

http://blog.csdn.net/rhljiayou/article/details/7212620

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1212/703.html



更多相关文章

  1. Android中的SystemClock类
  2. Android周笔记(9.8-14)(持续更新)
  3. Android使用libgdx实现模拟方向键控制角色移动的方法
  4. Android(安卓)UI 之 ListView
  5. LinearLayout中添加分割线
  6. Android纯透明的Activity
  7. 【Android】点击应用进而打开base.apk的调用流程再分析
  8. android强制键盘关闭
  9. TextView 行间距以及字间距

随机推荐

  1. Android(安卓)核心分析 之八------Androi
  2. android手动拖动滚动条快速滑动
  3. Android原生(Native)C开发
  4. 安卓学习教程
  5. Android窗口机制
  6. Android学习笔记——入门框
  7. Failed to find an AVD compatible with
  8. Android(安卓)Studio导入项目常出现的问
  9. TextView跑马灯效果
  10. android gps开发