如何将 UIImage 和 UILabel 合并为一张图像并保存

2024-05-27

我有 2 个 UILabels 和 2 个图像,我需要将它们合并到一个 UIImage 中进行保存。

我知道我可以用屏幕截图来做到这一点,但我的主图像是圆形的,所以如果我对其进行校正,它仍然会显示锐利的边缘。

我可以这样做来组合图像:

//CGSize newImageSize = CGSizeMake(cropImage.frame.size.width, cropImage.frame.size.height);
CGSize newImageSize = CGSizeMake(480, 320);
NSLog(@"CGSize %@",NSStringFromCGSize(newImageSize));

UIGraphicsBeginImageContextWithOptions(newImageSize, NO, 0.0); //retina res
[self.viewForImg.layer renderInContext:UIGraphicsGetCurrentContext()];

UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

NSData *imgData =  UIImageJPEGRepresentation(image, 0.9); //UIImagePNGRepresentation ( image ); // get JPEG representation
UIImage * imagePNG = [UIImage imageWithData:imgData]; // wrap UIImage around PNG representation

UIGraphicsEndImageContext();
return imagePNG;

但不知道如何添加到 UILabel 中。

任何回复都非常感激。


Use [myLabel.layer renderInContext:UIGraphicsGetCurrentContext()];在当前上下文中绘制。

For eg:-

    UIGraphicsBeginImageContextWithOptions(newImageSize, NO, 0.0); //retina res
    [self.viewForImg.layer renderInContext:UIGraphicsGetCurrentContext()];
    [myLabel.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

根据您的评论,如果您想在特定框架中绘制它,请按如下方式操作,

[myLabel drawTextInRect:CGRectMake(0.0f, 0.0f, 100.0f, 50.0f)];

如果你想给背景上色,试试这个,

CGRect drawRect = CGRectMake(rect.origin.x, rect.origin.y,rect.size.width, rect.size.height); 
CGContextSetRGBFillColor(context, 100.0f/255.0f, 100.0f/255.0f, 100.0f/255.0f, 1.0f); 
CGContextFillRect(context, drawRect);

或者你可以检查这个问题设置CGContext透明背景 https://stackoverflow.com/questions/2125543/setting-a-cgcontext-transparent-background.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 UIImage 和 UILabel 合并为一张图像并保存 的相关文章

随机推荐

  • Matlab:如何读取以逗号作为小数分隔符的数字?

    我有很多 数十万 相当大 gt 0 5MB 的文件 其中数据是数字 但以逗号作为小数分隔符 使用像这样的外部工具对我来说是不切实际的sed s g 当分隔符是点时 我只使用textscan fid f f f 但我看不到更改小数点分隔符的选
  • 在搜索栏中输入查询并抓取结果

    我有一个数据库 其中包含不同书籍的 ISBN 号 我使用 Python 和 Beautifulsoup 收集了它们 接下来我想为书籍添加类别 书籍类别有一个标准 一个网站叫https www bol com nl https www bol
  • Android 第一个应用程序教程问题

    我一直在尝试让它工作 甚至完全按照教程所述复制和粘贴代码 但它似乎不起作用 我知道问题出在 MainActivity 或 DisplayMessageActivity 中 但我看不出出了什么问题 我还将 DisplayMessageActi
  • 尝试添加号码时无法使用 +

    在我选择选项 1 并添加数字 如 100 后 结果如下 100100 这是代码 var userAmount var userMoney 100 var totalMoney alert 1 Add alert 2 Subtraction
  • 如何正确定义析构函数

    我对 C 以及一般的编程 比较陌生 所以如果问题没有立即完全清楚 请原谅我 我所拥有的是一个程序 其中创建了内部定义的类 让我们称之为 class1 的一定数量的对象 程序运行得很好 对象也做了它们应该做的事情 我当前试图解决的问题如下 这
  • 使用查询时间排名的复杂“特色产品”模型(可选过滤器)

    我有一个products显示过滤结果的索引category pages 对于给定的category 任意数量的products可能会被标记为featured 表示它首先显示 When products显示为category 只有一个特色产品
  • 对列表中的每个数值列表求和

    我想将值附加到 R 中河图中的标签 我有一个值列表列表 需要它来显示节点之间的流 如下所示 edges lt list A list C 10 E 5 B list C 10 C list D 13 E 7 我知道有一个函数可以减少 或求和
  • jQuery Datepicker showAnim 没有动画

    我尝试了多种方法并在互联网上搜索 试图让动画发挥作用 但一无所获 我有日期选择器工作和日期格式选项 但没有动画 我希望使用 剪辑 选项 以下是各个文件中的内容 应用程序 js require jquery require jquery tu
  • Java ArrayList 的 (ArrayList).toString 的相反是什么?

    我正在使用toString的方法ArrayList储藏ArrayList数据到字符串中 我的问题是 我该如何走另一条路 是否有现有的方法可以解析中的数据String实例返回到ArrayList 最简洁的答案是不 没有简单的方法可以从字符串中
  • “composer”在 Windows 服务器中未被识别为内部或外部命令

    我使用的是Windows Server 2008操作系统 我下载作曲家安装程序 exe https getcomposer org download 并安装到我的电脑上 当我尝试时composer install 我收到错误 compose
  • Spring security:在 3.1 中,仅针对“GET”请求绕过安全过滤器

    我希望我的服务仅对传入的 POST PUT DELETE 请求执行身份验证 并绕过任何 GET 请求 Spring 版本低于 3 1 具有 filters none 属性 可用于绕过特定 URL 模式的所有安全过滤器 在 3 1 中 fil
  • 有没有办法限制 React-Native 中 TextInput 的长度?

    我一直在尝试使我的程序不允许您在 TextInput 组件中输入超过一定数量的字符 类似于 maxLength 对于输入的工作方式 我还没有找到任何类似的 textInput 的 maxLength 有没有一种简单的方法来设置 组件的最大字
  • PowerShell 输出在函数之间交叉

    我正在 Windows 10 上的 5 1 版本中编写一个 PowerShell 脚本 该脚本获取有关本地系统 以及最终其子网 的某些信息并将其输出到文本文件中 起初 我将所有方面都集中在一个函数中 我在输出时遇到了输出问题getUsers
  • 更改 .cpp、.h 文件的 Visual Studio 默认路径

    我希望 Visual Studio 自动将我的 h 文件放入文件夹 ProjectPath include 中 并将我的 src 文件放入 ProjectPath src 中 这样 如果我使用 创建类向导 它会默认放置好路径 而无需更改文件
  • 使用 py2neo 从 csv 文件创建 neo4j 图形数据库

    我目前正在攻读博士课程 并且对 Py2neo 很感兴趣 因此我使用它来使用社交图谱进行一些实验 然而我遇到了新手麻烦 抱歉问这些简单的问题 我得到了一个 xml 数据集 其中包含有关期刊出版物的数据 我已将其转换为 csv 表 大约有 70
  • CSS 中的重叠图像

    如何让 mymessage gif 显示在 bread wine jpg 之上 mymessage gif 具有透明背景
  • 如何配置 Angular2 Quickstart 来运行 phantomjs?

    我想弄清楚如何运行测试Angular2 快速入门 https github com angular quickstart与 phantomjs 我认为这些步骤足以配置 Karma 1 克隆存储库 git clone https github
  • 图像预加载不适用于 FireFox 中的图像

    我正在动态切换背景图像 当然 它们需要预加载才能及时显示 我正在预加载它们 我能够在图像加载时在 FireBug 中进行跟踪 当背景图像切换时 我看到图像在 FireBug 中再次下载 这是我的网址 http www morganpacka
  • 发送邮件时PEAR邮件验证失败

    由于我发现 PHP 中内置的邮件功能存在安全漏洞 因此我尝试使用 PEAR 我已经在本地主机 WAMP 服务器 2 2 上安装并进行了必要的配置 但是 每次我尝试发送电子邮件时 都会显示以下消息 error authentication f
  • 如何将 UIImage 和 UILabel 合并为一张图像并保存

    我有 2 个 UILabels 和 2 个图像 我需要将它们合并到一个 UIImage 中进行保存 我知道我可以用屏幕截图来做到这一点 但我的主图像是圆形的 所以如果我对其进行校正 它仍然会显示锐利的边缘 我可以这样做来组合图像 CGSiz