iPhone应用程序: How to fill an image with empty areas with coregraphics?

标签 iphone cocoa-touch uikit core-graphics

我是一名为 Iphone 开发应用程序的初学者,想知道是否可以执行以下操作:

我有一个 .png 图像,它是一个由黑色边缘和空白区域界定的图形的简单绘制。我想知道是否有一种方法或模式来填充图像的封闭空白区域。

就像是 MSpaint 填充物的锅。

我有这个代码:

CGContextRef ctx = UIGraphicsGetCurrentContext();
UIImage *image = [UIImage imageNamed:@"myImage.png"];
CGContextDrawImage(context, CGRectMake(0, 0, 145, 15), image.CGImage);
[image drawInRect:CGRectMake(0, 0, 145, 15)];

现在我不知道该做什么来填补...

如果有人能回答这个问题,我将不胜感激。非常感谢!

最佳答案

I have an image … wich is … bounded with black edges and empty areas.

如果“空”是指这些区域的 alpha 值为零,则只需先用所需的颜色填充上下文(填充上下文的整个范围),然后在顶部绘制图像即可。颜色将通过图像透明的位置显示,而不是不透明的位置。

更符合您要求的是使用“复制”混合模式绘制图像,然后使用“源输出”混合模式进行颜色填充。

Blend modes是你的 friend 吗?好好学习它们,因为您可以用它们做很多事情。

关于iPhone应用程序: How to fill an image with empty areas with coregraphics?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3921548/

相关文章:

iphone - 选择的 UIButton 不起作用

objective-c - 一对多关系中的 KVO 对象属性

swift - 使用 SwiftUI 在条件内显示警报

iOS 混合 Spritekit 和 UIKit

iphone - 过早退出 dispatch_async ,Grand Central Dispatch

ios - 在 Swift 中,如何在删除 ARSCNView 后让内存恢复正常?建筑套件

iphone - xcode 将 iPhone 转换为 iPad

使用 C++ 开发 iPhone 应用程序?

cocoa - Apple 如何使 info.plist 显示其 "Information Property List"?

iphone - UIButton 事件 'Touch Up Inside' 不起作用。 'Touch Down' 工作正常