首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用掩模填充彩色图像

用掩模填充彩色图像
EN

Stack Overflow用户
提问于 2015-01-09 15:50:10
回答 1查看 362关注 0票数 1

我有一个原始的车辆图像,我需要实现的是用不同的颜色填充这个图像:http://image.openlan.ru/images/25842748100117640420.png

我尝试使用下面的代码来达到它:

代码语言:javascript
运行
复制
- (UIImage *) coloredImageWithColor:(UIColor *)color
{
    UIGraphicsBeginImageContext(self.size);

    CGContextRef context = UIGraphicsGetCurrentContext();

    CGContextTranslateCTM(context, 0, self.size.height);
    CGContextScaleCTM(context, 1.0, -1.0);

    CGContextSetBlendMode(context, kCGBlendModeDarken);
    CGRect rect = (CGRect){ CGPointZero, self.size };
    CGContextDrawImage(context, rect, self.CGImage);
    CGContextClipToMask(context, rect, self.CGImage);

    [color set];
    CGContextFillRect(context, rect);

    // wheel
    UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:(CGRect){ 700, 200, 200, 200 }];
    CGContextSetBlendMode(context, kCGBlendModeClear);
    [path fill];

    UIImage *coloredImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    return coloredImage;
}

当然,这不是我所期望的:

http://image.openlan.ru/images/05312201634158625573.png

目前我遇到了两个问题。首先,我想弄清楚如何显示一些区域的填充背景,如轮子,例如。第二个问题是如何创建最相似的彩色车辆图像。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-09 18:21:26

你会想要在Photoshop中完成大部分的工作。您需要一个基本的图像,是透明的地方,你想要显示。然后,您需要创建一个掩码图像,以显示您想要颜色的位置(使用alpha表示要使用多少色调)。然后你将掩盖图像并在你的背景上画出来。

我假设一个带有图层掩码的PhotoShop文件用于创建初始示例中的有色车辆。您将需要这两个层(基本层和掩码)作为单独的PNG文件。创建原始Photoshop文件的人应该能够提供这些文件。

试图从一个单一的平面图像编程地这样做,不太可能给你想要的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27864283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档