gpt4 book ai didi

objective-c - 从 UIImage 上的 "Paint Bucket"填充中排除蒙版区域

转载 作者:行者123 更新时间:2023-11-28 17:39:45 25 4
gpt4 key购买 nike

我正在构建一个 iPhone 应用程序,它需要以非常特定的方式构建一些图像。这个问题很难解释,所以下面是我想要实现的图表。基本上,我想将“油漆桶”填充到 UIImage(这将是 PNG)上。我假设术语“油漆桶”在这里等同于一种色调?

在那之后,我想创建一个蒙版对象(它将是可更新的并且可能包含多个形状)然后当我将另一个色调/油漆桶应用于原始图像时,构建蒙版覆盖的区域将不受影响。这基本上就像在一个物体上缠上一些胶带,给它上色,然后取下胶带。正如所 promise 的,这是我所追求的图表。重要的是要注意,虽然我在这里使用了十字,但最终模式可能会非常复杂,并且必须在 PNG 中而不是在代码中创建。感谢您提供的任何帮助!

Masking Flow

最佳答案

将您的十字架(或您想要的任何形状)创建为白色背景上的黑色图像。使用 CGContextClipToMask 将其应用于您的图形上下文。然后使用 CGContextFillRect 用蓝色填充上下文的边界。应该这样做:

CGRect bounds = your context bounds;
CGContextRef gc = your context;
UIImage *cross = [UIImage imageNamed:@"cross"];
CGContextSaveGState(gc); {
CGContextClipToMask(gc, bounds, cross.CGImage);
CGContextSetColorWithColor(gc, [UIColor blueColor].CGColor);
CGContextFillRect(gc, bounds);
} CGContextRestoreGState(gc);

关于objective-c - 从 UIImage 上的 "Paint Bucket"填充中排除蒙版区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8618480/

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