从 UIView 以编程方式创建 UIImage

Posted

技术标签:

【中文标题】从 UIView 以编程方式创建 UIImage【英文标题】:Creating UIImage programmatically from UIView 【发布时间】:2014-04-30 13:07:05 【问题描述】:

有没有办法从带有背景颜色的UIView 创建UIImageUIImageView。我的目的是在图像中获得这种颜色。如果可以,我该怎么做?

【问题讨论】:

所以你想创建一个具有背景颜色的视图只是为了获得该颜色的图像? (您只需要图像的上下文并将颜色绘制到其中)然后您打算将图像用于什么? 您需要进一步解释一下您究竟需要什么?根据您提供的详细信息,这很荒谬 我想你要问的是如何创建一个特定颜色的 UIImage 。这是正确的吗? 【参考方案1】:
+ (UIImage *)imageWithColor:(UIColor *)color andRect:(CGRect)rect 
    UIGraphicsBeginImageContext(rect.size);
    CGContextRef context = UIGraphicsGetCurrentContext();

    CGContextSetFillColorWithColor(context, [color CGColor]);
    CGContextFillRect(context, rect);

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

    return image;

【讨论】:

从***.com/a/993159/525576 直接复制 1px x 1px 颜色对他没有用处。也许通过 cgrect 而不是预定义它。 我对其进行了编辑,以便可以将其传递给函数。我使用了您为我当前项目之一传递的链接的响应......所以我现在分享它。

以上是关于从 UIView 以编程方式创建 UIImage的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Swift 中以编程方式从 UIView 中删除安全区域?

如何以编程方式向以编程方式创建的 UIView 添加约束?

以编程方式创建 UIView 后滑块没有响应

在 UIView 中以编程方式创建的 UILabel 未更新

iOS:从 UIView 创建 XIB

以编程方式创建的 UIView 的框架为 0