从2个UIImages和标签创建UIImage

时间:2012-10-01 17:15:16

标签: ios uiimage uilabel

我有一个大UIImage。在这UIImage我还有一个,女巫实际上是一个面具。还有一个 - 我在这个面具上得到UILabel!巫婆是图片的文字。

我想将所有这些部分组合在一个UIImage中,以将其保存到相机胶卷!

我该怎么做?

UPD。我应该如何添加UITextView

我发现:

[[myTextView layer] renderInContext:UIGraphicsGetCurrentContext()];

但是这种方法不会将myTextView放在正确的位置。

1 个答案:

答案 0 :(得分:10)

创建两个UIImage个对象和一个UILabel个对象,然后使用drawInRect:方法

//create image 1

UIImage *img1 = [UIImage imageNamed:@"image1.png"];

//create image 2    

UIImage *img2 = [UIImage imageNamed:@"image2.png"];

// create label

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 50,50 )];

//set you label text

[label setText:@"Hello"];

// use UIGraphicsBeginImageContext() to draw them on top of each other

//start drawing
UIGraphicsBeginImageContext(img1.size);

//draw image1

[img1 drawInRect:CGRectMake(0, 0, img1.size.width, img1.size.height)];

//draw image2

[img2 drawInRect:CGRectMake((img1.size.width - img2.size.width) /2, (img1.size.height- img2.size.height)/2, img2.size.width, img2.size.height)];

//draw label

[label drawTextInRect:CGRectMake((img1.size.width - label.frame.size.width)/2, (img1.size.height - label.frame.size.height)/2, label.frame.size.width, label.frame.size.height)];

//get the final image

UIImage *resultImage  = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

resultImage UIImage包含您的所有图片和标签作为一张图片。之后,您可以将它保存在任何您想要的地方。

希望有帮助...