gpt4 book ai didi

iphone - 如何删除UIImage的一部分

转载 作者:行者123 更新时间:2023-12-03 20:47:28 25 4
gpt4 key购买 nike

有没有办法删除该图像的黑色背景 alt text

我找到了此示例代码 topic但我不明白它是如何工作的

- (void)clipImage {
UIImage *img = imgView.image;
CGSize s = img.size;
UIGraphicsBeginImageContext(s);
CGContextRef g = UIGraphicsGetCurrentContext();
CGContextAddPath(g,erasePath);
CGContextAddRect(g,CGRectMake(0,0,s.width,s.height));
CGContextEOClip(g);
[img drawAtPoint:CGPointZero];
imageView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}

也许我的方式是错误的。

问候,
KL94

最佳答案

该代码使用quartz(iPhone 的图形引擎)来剪辑图像。一些细节:

UIGraphicsBeginImageContext(s);
CGContextRef g = UIGraphicsGetCurrentContext();

你首先需要某种“目标”来吸引。在图形中,这通常称为上下文。在上面,您告诉系统需要一个给定大小的(位图)图像上下文,然后您将获得对它的引用。

CGContextAddPath(g,erasePath);
CGContextAddRect(g,CGRectMake(0,0,s.width,s.height));
CGContextEOClip(g);

在这里,您提供上下文的路径,然后剪辑上下文。这就是说“只在这些区域绘制。”

[img drawAtPoint:CGPointZero];

您在新的上下文中绘制图像。仅绘制剪切区域,因此其余部分被有效删除。

imageView.image = UIGraphicsGetImageFromCurrentImageContext();

现在,您只需要求系统返回您在上面设置的上下文(目标)中绘制的图像

注意:这是一个粗略的描述,您可能想查看每个函数的引用以获取更多详细信息。

关于iphone - 如何删除UIImage的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4526336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com