Android Canvas的理解-飞
发布时间: 2023-07-06

很多初学者在接触Canvas的时候,认为显示所绘制图形的屏幕就是Canvas,如果这样理解的话,就肯定无法理解canvas.save()以及canvas.restore()函数了。实际上Canvas和屏幕的关系更像是:

Canvas和屏幕的关系.png
在Canvas绘制的图像,将会反映到屏幕上,但是Canvas是个可以自由变换的东西(比如平移,旋转,裁剪),而屏幕是不可变的。每次调用drawXXX来绘图的时候都会产生一个全新的Canvas图层,但是图层的变换操作是不可逆的(除非使用canvas.save()以及canvas.restore()),也就是新产生的图层将会以变换后的位置或形状出现,在Canvas图层合并到屏幕上的时候超出的部分是不会显示的。最后给出一个操作步骤来理解上述过程:
image.png
其实我们也可以自己创建Canvas。例如new Canvas(mBitmap),通过这样的创建方式将mBitmap(中文邮件格式:邮件的主题是为了让收件人看到邮件之后对该邮件有个大体了解,确定邮件的紧急、重要程度、有效、有用性的;所以在写主题的时候最主要的突出 什么事、重要程度等关键信息;可以按照以下方式和思路去写:格式:修饰词+邮件内容+时间+发件人。如果有必要的话还可以在主题上加上紧急程度和邮件的主体内容,清晰明了。)替换为上面提到的屏幕的概念,也就是将所有Canvas中画的图像映射到mBitmap上。而至于上面提到的可以映射到手机屏幕上的Canvas是如何创建的就需要读者自己探索了。



扫码加微信详细咨询太和智慧养老产品和平台服务!

微信