首页 > 移动平台 > 详细

Android Canvas save和restoreToCount

时间:2015-03-20 14:19:03      阅读:4537      评论:0      收藏:0      [点我收藏+]
@Override
    public void draw(Canvas canvas) {
        if (mDrawable!=null) {
            int sc=canvas.save();
            if (mAnimation!=null) {
                mAnimation.getTransformation(
                                         AnimationUtils.currentAnimationTimeMillis(),
                                         mTransformation);
                canvas.concat(mTransformation.getMatrix());
            }
            mDrawable.draw(canvas);
            canvas.restoreToCount(sc);
        }
    }

canvas.save()和canvas.restoreToCount(sc);是用来保存和回复Canvas的状态(Maxtrix等属性),因为我们需要修改Canvas的Matrix属性,canvas.concat方法都会和当前Canvas的Matrix进行矩阵运算,如果我们不保存之前的Matrix属性,每次都会跟上次矩阵运算的结果相乘,对应本例来说,每次平移的距离会越来越大。

 

转:http://blog.csdn.net/gaomatrix/article/details/6525240

Android Canvas save和restoreToCount

原文:http://www.cnblogs.com/wangle1001986/p/4353395.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!