如果我错了,请纠正我:如果我们有 x=10,y=20,当我们对这些坐标应用变换时(假设将 x 和 y 缩放 10),新坐标将为 x=100 和 y=200 . 因此,如果我们将 x 缩放 -1,我们得到 x= -10,y =20。但是为什么这个动作会导致视图被镜像呢?视图不应该只是在它的新坐标处重新绘制吗?我在这里想念什么?
问问题
55 次
1 回答
2
不要考虑单个坐标,要考虑坐标范围。
如果您取... 0、1、2、3、4 的坐标(仅此处的 x 值)并将它们缩放 10,那么它们将分别映射到 0、10、20、30、40。这将拉伸 x 轴,因此视图看起来会比原来大 10 倍。
如果您采用相同的 x 坐标并将它们缩放 -1,那么它们将分别映射到 0、-1、-2、-3、-4。
也就是说,离原点 (4) 最远的像素仍然离原点最远,但现在是 -4。
每个像素都通过原点镜像。
这就是缩放在 iOS、Android 和一般数学中的工作原理。
如果您只想滑动视图而不改变它的大小,那么您可以使用 atranslation
代替。
于 2016-07-05T09:33:17.657 回答