0

我正在创建一个 iOS 绘图应用程序,它允许用户在页面上放置箭头并定位/拉伸/旋转它们。当用户保存图像时,我必须在它们被拖动到的确切坐标处使用 png 箭头修改背景图像。

在此处输入图像描述

3 个可拖动的部分将是带有 CapInsets 的 UIImage,以保持箭头在拉伸时看起来正常。画布 UIImageView 将具有与实际图像相同的方面,确保不可见黑色空间。

我的问题是这样的。拉伸可拖动部分后,如何将 UIImageView(较小的可拖动部分)的结果保存到磁盘/内存中,以便以后修改背景图像(背景 UIImageView 画布)。重要的是要确保我用来修改画布的图像看起来与代表它的 UIImageView 可拖动部分完全相同。这意味着它必须准确地保留图像的显示方式,包括 CapInsets。

我暂时忽略可拖动部件的旋转,因为我怀疑这将是简单的部分。

4

1 回答 1

0

尝试使用此代码从所需视图获取图层屏幕截图:

- (UIImage *)imageFromLayer:(CALayer *)layer {
    UIGraphicsBeginImageContext([layer frame].size);
    [layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *outputImage = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return outputImage;
}
于 2013-06-14T12:56:32.660 回答