我的应用程序允许用户在背景图像上合成图像(添加然后旋转、缩放、移动)并将最终编辑保存到相机胶卷。
主要编辑 ViewController 的视图是 UIView 层次结构的顶部。在此视图中,我将 UIImageView 添加为子视图,其中包含来自相机胶卷或相机的图像。用户然后添加额外的字符(狗、猫等),每个都实现为一个单独的 UIView,可以旋转、移动和缩放。
当用户完成编辑后,我想以可用的最高分辨率将整个场景保存到相机胶卷 - iphone4 上背景图像 1936X2592 像素(UIImageView)的分辨率。
目前我使用下面的代码,但是这只给了我场景的显示分辨率,而不是内存中图像的完整分辨率。有什么建议么?(我尝试在下面的代码中将上下文大小增加到完整的背景大小,但没有运气)
// create a CG context
UIGraphicsBeginImageContextWithOptions(view.bounds.size, NO, [UIScreen mainScreen].scale);
// render into the new context
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
// get the image out of the context
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();