【问题标题】:How erase part of UIImage with an other UIImage如何用另一个 UIImage 擦除 UIImage 的一部分
【发布时间】:2010-12-29 23:23:13
【问题描述】:

我发布了question,但我还没有找到解决方案。
我想知道是否有办法使用UIImage 删除另一个UIImage 的一部分

我会使用UIImage 来“遮盖”这个丑陋的黑色背景,让透明色变为透明色。
可能是CGContextAddPath 但我不知道怎么用...

问候,
KL94

【问题讨论】:

  • 有一些方法可以帮助您了解您是要像“绿屏”技术那样遮盖纯色还是要遮盖背景图像。此外,您是在整个图像上进行遮罩还是仅在某个剪切路径中进行遮罩?
  • 我想屏蔽背景图片。该图像代表了我的需要。我正在寻找一种方法来仅擦除整个图像的黑色部分,以便用透明度替换它(黑色区域)。我想我必须使用其他图像来做到这一点,但我可能是在错误的方式......
  • 我找到了这个[1]:stackoverflow.com/questions/2978382/…希望它对你有帮助。

标签: iphone objective-c uiimage core-graphics erase


【解决方案1】:

简单的解决方案

- (UIImage*)eraseImage:(UIImage*)img1 WithImage:(UIImage*)img2
{
    UIGraphicsBeginImageContext(img1.size);
    [img1 drawInRect:CGRectMake(0, 0, img1.size.width, img1.size.height)];
    [img2 drawInRect:CGRectMake(0, 0, img2.size.width, img2.size.height) blendMode:kCGBlendModeDestinationIn alpha:1.0];
    UIImage* result_img = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return result_img;
}

但您最好将图像保存为透明的。(如 PNG)

【讨论】:

  • 完全替换区域使用kCGBlendModeCopy
猜你喜欢
  • 2011-05-30
  • 2012-01-22
  • 2017-12-07
  • 2012-12-12
  • 2016-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-11
相关资源
最近更新 更多