iPhone:如何使用CGContextConcatCTM正确保存转换后的图像?

iPhone:如何使用CGContextConcatCTM正确保存转换后的图像?,iphone,matrix,uiimageview,transform,cgcontext,Iphone,Matrix,Uiimageview,Transform,Cgcontext,我正在制作一个iPhone应用程序,从相机中加载一幅图像,然后用户可以从库中选择第二幅图像,移动/缩放/旋转第二幅图像,然后保存结果。我使用IB中的两个UIImageView作为占位符,然后在触摸/挤压时应用转换 当我必须同时保存两个图像时,问题就出现了。我使用第一个图像大小的rect并将其传递给UIGraphicsBeginImageContext。然后我尝试使用CGContextConcatCTM,但我不明白它是如何工作的: CGRect rect = CGRectMake(0, 0, im

我正在制作一个iPhone应用程序,从相机中加载一幅图像,然后用户可以从库中选择第二幅图像,移动/缩放/旋转第二幅图像,然后保存结果。我使用IB中的两个UIImageView作为占位符,然后在触摸/挤压时应用转换

当我必须同时保存两个图像时,问题就出现了。我使用第一个图像大小的rect并将其传递给
UIGraphicsBeginImageContext
。然后我尝试使用
CGContextConcatCTM
,但我不明白它是如何工作的:

CGRect rect = CGRectMake(0, 0, img1.size.width, img1.size.height); // img1 from camera
UIGraphicsBeginImageContext(rect.size); // Start drawing
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextClearRect(ctx, rect); // Clear whole thing
[img1 drawAtPoint:CGPointZero]; // Draw background image at 0,0
CGContextConcatCTM(ctx, img2.transform); // Apply the transformations of the 2nd image
但是接下来我需要做什么呢?img2.transform矩阵中包含哪些信息?不幸的是,
CGContextConcatCTM
的文档对我帮助不大。。
现在我正试图通过使用三角法(借助于)计算点和角度来解决这个问题,但由于存在转换,因此必须有一种更简单、更有效的方法来实现,对吗?

看看这个极好的答案,您需要创建位图/图像上下文,绘制它,并将生成的图像取出。然后你可以保存它

我猜问题是Quartz从左上角应用了变换:/I我仍然不知道如何解决它。