gpt4 book ai didi

android - Android中canvas和matrix是什么关系?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:47:35 24 4
gpt4 key购买 nike

我阅读了这个 Canvas 概述:

The Canvas class holds the "draw" calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls (writing into the bitmap), a drawing primitive (e.g. Rect, Path, text, Bitmap), and a paint (to describe the colors and styles for the drawing).

谁能更清楚地解释 Canvas ?

而且我对 Canvas 和矩阵之间的关系感到困惑。 Canvas 是否采用矩阵的转换?我想知道以下功能是否会影响 Canvas ?

canvas.drawBitmap(bitmap, matrix, paint);

也就是说canvas矩阵和位图矩阵有区别吗?

我问这个,因为当我使用 canvas.drawBitmap 然后使用 canvas.concat() 然后绘制任何对象时,这个对象在 Canvas ,所以我认为 Canvas 和位图具有相同的矩阵!!

最佳答案

它们是不同的。当使用 Canvas 绘制提供矩阵的位图时,在内部,提供的矩阵连接到当前 Canvas 矩阵。

换句话说,调用canvas.drawBitmap(rectBitmap, matrix, paint); 具有相同的效果:

    canvas.save();
canvas.concat(matrix);
canvas.drawBitmap(rectBitmap, 0, 0, paint);
canvas.restore();

这解释了为什么您的对象采用相同的转换,因为您正在调用 canvas.concat(matrix);,然后绘制对象。

关于android - Android中canvas和matrix是什么关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27618559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com