如何扭曲图像?例如,每个角都有一个带有坐标的CGPoint - p1,p2,p3,p4.然后,我需要设置 - p4.x + = 50,p4.y + = 30.所以这个角(p4)应该在2D透视图中拉伸,图像应该扭曲.
替代文字http://www.polar-b.com/scew.png
我试图使用CATransform3D,但似乎不能以这种方式完成,因为它只是改变了视角(旋转,更靠近/更远一侧).也许CGAffineTransform可能有用吗?
如果您知道答案,请写一个示例代码.
提前致谢
我试图扭曲一个矩形,使两个垂直边倾斜但平行,顶部和底部是水平的.
我正在尝试使用CGAffineTransform并找到了这个代码,但我不知道要在各个部分放什么.
imageView.layer.somethingMagic.imageRightTop = (CGPoint){ 230, 30 };
imageView.layer.somethingMagic.imageRightBottom = (CGPoint){ 300, 150 };
#define CGAffineTransformDistort(t, x, y) (CGAffineTransformConcat(t, CGAffineTransformMake(1, y, x, 1, 0, 0)))
#define CGAffineTransformMakeDistort(x, y) (CGAffineTransformDistort(CGAffineTransformIdentity, x, y))
Run Code Online (Sandbox Code Playgroud)
虽然据说很容易,但我不知道在不同的地方放什么.
我假设图像视图将是我想要改变的图像,但是什么会变成什么样的魔法.和imageRightTop和imageRightBottom.
另外我如何定义t.
如果有一个更彻底的解释我会很感激,因为在大多数情况下我只发现这是解释如何扭曲矩形.
谢谢