iOS使用对象(箭头)绘制图像并保存到磁盘

时间:2013-06-14 08:56:33

标签: ios drag-and-drop uiimage core-image

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

enter image description here

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

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

我现在忽略可拖动部件的旋转,因为我怀疑这将是容易的部分。

1 个答案:

答案 0 :(得分:0)

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

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

    UIGraphicsEndImageContext();

    return outputImage;
}