【问题标题】:How to replace a region of an image with another image in ios如何在ios中用另一个图像替换图像的区域
【发布时间】:2012-12-18 05:24:54
【问题描述】:

我想在 iOS 应用中处理 UIImage 的子区域。在this question 之后,我现在有一个例程来提取有问题的区域作为我现在可以操作的 UIImage。有没有类似的方便的方法将区域放回原始图像?我正在考虑的替代方案是按字节复制,这对我来说似乎非常低级。

【问题讨论】:

    标签: ios uiimage crop


    【解决方案1】:

    您可以将两张图像相互叠加,然后将它们组合成一张图像。

    假设你有原图和修改过的部分:

    UIGraphicsBeginImageContext(originalImage.size);
    
    [originalImage drawAtPoint:CGPointMake(0, 0)];
    [modifiedPart drawAtPoint:/* Upper left corner of the modified part */];
    UIImage *combined = UIGraphicsGetImageFromCurrentImageContext();
    

    编辑: 忘记这一行了:

    UIGraphicsEndImageContext();
    

    【讨论】:

    • 这种方法很有前途,但它不是独立于轮换的。委婉地说,这些块没有在我期望的地方绘制。
    • @mmr:我不确定您所说的独立旋转是什么意思。当您绘制修改后的部分(我假设它仍然具有相同的大小)时,您应该提供与切割它时使用的相同的坐标。
    • @vaderkvam-- 我的意思是,如果我旋转手机(或模拟器),我会得到非常奇怪的结果。我正在进一步调查,因为我的初始代码也可能有误。
    • @mmr:我明白了,我使用这段代码从来没有遇到过这种情况。组合图像的行为 - 关于旋转 - 与任何其他图像相同。无论如何,祝你调查顺利!
    • @vaderkvam——轮换问题在上游。此代码有效,谢谢!
    猜你喜欢
    • 2016-12-16
    • 1970-01-01
    • 1970-01-01
    • 2022-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多