iOS中的UIImage视图矩阵变换
我尝试在iOS上更改imageView矩阵,不是通过CATTransformM3D,也不是通过MeshTransform,而是使用转换矩阵更改整个图像的顶点。在Android上,我使用了矩阵库中的方法“setpolytoply”。有谁能告诉我如何在iOS中做到这一点吗。其效果类似于Android的“SetPolytoply”方法? 还是我的想法错了,应该使用Metal或OpenGL? 我加了3张图片。我希望每个人都能理解我想要的效果。iOS中的UIImage视图矩阵变换,ios,Ios,我尝试在iOS上更改imageView矩阵,不是通过CATTransformM3D,也不是通过MeshTransform,而是使用转换矩阵更改整个图像的顶点。在Android上,我使用了矩阵库中的方法“setpolytoply”。有谁能告诉我如何在iOS中做到这一点吗。其效果类似于Android的“SetPolytoply”方法? 还是我的想法错了,应该使用Metal或OpenGL? 我加了3张图片。我希望每个人都能理解我想要的效果。 此外,我还想知道如何依靠图片上的3个点来截取三角形UIIma
此外,我还想知道如何依靠图片上的3个点来截取三角形UIImage。您可以使用OpenCV进行截取。你可以找到一个简单的UIIGM类别(注意这是目标C++代码)。p>
我可以用CIFilter的“透视变换”来实现这一点。原件: 转换后: 要记住的事情:
- CIFilter的坐标系相对于iOS翻转(即原点位于左下角,而不是左上角)
- 如果你想在用户拉伸图像时实时完成这类工作,你需要使用金属;CIContext渲染无法将其剪切
谢谢朋友们的回答。谢谢你们的回答。经过2天的学习,似乎也可以通过CIFilter实现这种效果。我稍后会尝试,并比较它们实现的效果。在实时更改的同时,我还需要更改图像的透明度。金属能做到吗?为了达到这个目的,你能给我一些学习金属的建议吗?
OpenCV -> UIImage
cv::Mat mat /* = ... */;
UIImage* image = [UIImage fromCvMat:mat];
UIImage -> OpenCV
UIImage* image /* = ... */;
cv::Mat mat = [UIImage toCvMat:image];