ios - 从 2 个 UIImages 和标签创建 UIImage

标签 ios uiimage uilabel

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

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

我应该怎么做?

更新。我应该如何添加 UITextView

我发现:

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

但是这个方法并没有把 myTextView 放在正确的位置。

最佳答案

创建两个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();

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

希望有帮助...

关于ios - 从 2 个 UIImages 和标签创建 UIImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12677904/

相关文章:

ios - UIImageView 在特定数量的循环迭代后停止显示图像

ios - 在 iPad 上加载全屏 Retina 图像会导致 10 MB 的巨大峰值

iphone - numberOfLines=2 的 UILabel 使用什么约束高度? (使用 [NSString sizeWithFont...])

iphone - UILabel的两种颜色背景

swift - 带有 UILabel 的 UIScrollView - 文本适合 View 但图像不适合

ios - 了解并发 GCD

ios - UIACollectionView 单元格与 visibleCells

ios - 回调方法不在 Swift 中从 UIView 调用到 ViewController

ios - 在 iOS 9 中禁用应用内浏览器的 ATS?

ios - 如何修复此社交媒体 View 共享 (iOS)?