xcode-能不能结合UIImage和UILabel保存在一个图片中

问题描述

能不能结合UIImage和UILabel保存在一个图片中

我有两个UILabel,和两个图片,我需要合并到一个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。

解决方案

使用[myLabel.layer renderInContext:UIGraphicsGetCurrentContext()];在当前文本中绘画.

例子:

  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);
时间: 2024-10-27 18:59:19

xcode-能不能结合UIImage和UILabel保存在一个图片中的相关文章

c语言:如何把一个整数按位保存在一个字符数组里,然后再读取出来还原为一个整数

问题描述 c语言:如何把一个整数按位保存在一个字符数组里,然后再读取出来还原为一个整数 void WitedataToFlash(void) { unsigned char i; sprintf(datal, "%luunsignedlong", gdvolt); for(i=0;i<11;i++) EEPROM_write(0x01+i,datal[i]); } /*********************************************************

动态获得记录信息,然后先将获得的记录信息保存在一个列表(内存中),再定义一个定时器,定期将列表中的记录(批量)写入数据库

问题描述 windFrom当点击添加学生信息时,是先将学生记录保存在一个列表(内存中),定义一个定时器,定期将列表中的学生记录(批量)写入数据库如何做?高手请进,谢谢.//学生信息实体.cspublicclassstuInfo{publicstringname;//学生性名publicstringsex;//学生性别publicstringinfo;//备注信息}//DAO操作.cspublicclassDAO_stuInfo{privateDataBasedb;publicDAO_stuInf

关于将html代码和脚本保存在一个文件里文件的后缀名是aspx 不能运行的问题

问题描述 不能运行的问题编译的环境绝对没错 解决方案 解决方案二:什么是不能运行?解决方案三:这个问题我已经解决了,我没有启动iis造成的

Xcode证书破解 iphone真机部署

Xcode证书破解 iphone真机部署   证书伪造: 先按照该教程的步骤添加证书.注意,原教程选择的是"系统"证书,这里我们用"登录"证书,切记. Xcode破解 关闭XCode,打开你的命令行终端,复制粘贴下面的代码: #!/bin/bash cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS\ Build\ System\ Support.xc

Linux系统中保存可执行文件的执行结果

在Linux操作系统上编译测试脚本文件或者应用程序的时候,往往需要不满足只是将结果输出到屏幕上,而是希望能够将运行结果.错误信息.警告信息等等保存在一个文件中,以方便系统管理员进行分析与调整.虽然这也可以通过屏幕截屏或者屏幕录像来完成,但是这得到的结果处理起来很不方便.如不方便查询.不能够过滤等等.为了解决这个问题,在Linux系统中提供了一个重定向的工具.在编程调试的过程中,可以利用重定向操作来存储可执行文件的输出结果. 一.将输入输出分别重定向到不同的文件. 在程序调试时,屏幕上的信息大致可

android-写入文件然后读取,然后再像一个字符串一样保存内容

问题描述 写入文件然后读取,然后再像一个字符串一样保存内容 我想写进一个文件,然后,我想把内容保存在一个 StringBuffer 里面.最后再通过一个 TextView显示,但是什么也不显示. public class MainActivity extends Activity { String finall; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceS

c-请问如何才能将本地时间保存成txt文件的文件名

问题描述 请问如何才能将本地时间保存成txt文件的文件名 我的问题是这样的,容我赘述: 我的PC外接一个硬件系统,这个系统会通过我的程序传回相应的测量数值,我实时地保存传回的数值,将他们写在txt文件里面.但是,我现在的程序每次读写的文本文件都是固定的那一个,如果我想保留我上一次测量的数据我就需要打开我的文本文件,Ctrl+A然后Ctrl+C,最后粘贴到另一个文件里,太麻烦. 我希望达到这样的情况:每记录完一次数据,就以本地PC时间为文件名保存成"YYYYMMMMDDDD a=* b=* c=*

java在linux保存文件文件名乱码

问题描述 linux的locale已经是utf-8和zh_CN,JAVA程序中也设置locale为SIMPLIFIED_CHINESE并且在启动程序时候已经添加命令-Dfile.encoding="UTF-8"-Duser.country="CN"-Dsun.jnu.encoding="UTF-8"-Duser.language="zh",代码中所有编码都为utf-8,而且newString的时候都是以utf-8new的,但是

用Swt的canvas画图后,怎样保存所画的图,需要写详细点

问题描述 如题 解决方案 解决方案二:不懂,帮顶~解决方案三:我的实现方法是把你画的图的数据保存在一个文件中,比如是一个多边型,然后把点的坐标保存在一个File中,下次用到的时间只是去读这个文件就可以了,当然具体情况还是要具体处理的我个人是这样处理的,解决方案四:我已经实现了,还是比较简单的,但现在最郁闷的就是,只能够获取当前canvas区域的所画图片,却不能够获取整个图片.(图片大小比画板大).解决方案五:不懂解决方案六:呵呵你这样的需求我个人觉得要用到gef框架了解决方案七:貌似gis中的地