beb*_*osh 4 android concat canvas bitmap matrix
我读了这个画布概述:
Canvas类包含"绘制"调用.要绘制一些东西,你需要4个基本组件:一个用于容纳像素的位图,一个用于托管绘图调用的Canvas(写入位图),一个绘图基元(例如Rect,Path,text,Bitmap)和一个paint(to描述绘图的颜色和样式).
任何人都可以更清楚地解释画布吗?
我对画布和矩阵之间的关系感到困惑.画布是否从矩阵中获取变换?我想知道下面的功能是否会影响画布?
canvas.drawBitmap(bitmap, matrix, paint);
Run Code Online (Sandbox Code Playgroud)
换句话说,画布矩阵是否与位图矩阵不同?
我问这个,因为当我使用canvas.drawBitmap然后使用canvas.concat() 然后绘制任何对象时,这个对象在画布上进行相同的转换,所以我认为画布和位图具有相同的矩阵!
它们是不同的.当使用画布绘制提供矩阵的位图时,在内部,提供的矩阵连接到当前画布矩阵.
换句话说,调用canvas.drawBitmap(rectBitmap, matrix, paint);具有相同的效果:
canvas.save();
canvas.concat(matrix);
canvas.drawBitmap(rectBitmap, 0, 0, paint);
canvas.restore();
Run Code Online (Sandbox Code Playgroud)
这解释了为什么你的对象正在进行相同的转换,因为你正在调用canvas.concat(matrix);并在绘制对象之后.
| 归档时间: |
|
| 查看次数: |
3402 次 |
| 最近记录: |