android api归纳,在Android中,Matrix类的mapRect api执行什么样的转换?

这是一个非常简单的例子:

我们来一个矩阵:

Matrix matrix = new Matrix();

设置该矩阵以将所有内容缩放两倍:

matrix.setScale(2.0F,2.0F);

在左上角创建一个10×10的矩形,其原点为:

RectF rect = new RectF(0F,0F,10F,10F);

所以当我们打电话时

matrix.mapRect(rect);

我们创建的输入矩形被输出矩形替换,输出矩形是转换输入的结果:

rect.left = 0F;

rect.top = 0F;

rect.right = 20F;

rect.bottom = 20F;

该方法的另一个版本

matrix.mapRect(RectF dst,RectF src);

在不影响输入矩形的情况下执行相同的转换.

什么是矩阵?

考虑一面镜子.镜子会拍摄您的图像并创建图像的水平翻转版本.

考虑麦克风和放大器.他们采取你的声音,并创造一个更响亮的声音版本.

这就是矩阵.这是一个变压器.它接受输入并创建基于输入的输出.所以矩阵可以变换点,矩形,圆形,多边形……

有关详细信息,请参阅我的答案How does Matrix.postScale( sx,sy,px,py) work?

另请查看Affine transformations | Wikipedia.有一个很棒的图形显示不同的仿射变换及其效果.

  • 1
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 1024 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值