gpt4 book ai didi

iphone - 如何将 UIImage 和 UILabel 合并为一张图片并保存

转载 作者:技术小花猫 更新时间:2023-10-29 10:58:50 26 4
gpt4 key购买 nike

我有 2 个 UILabel 和 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 中添加。

非常感谢任何回复。

最佳答案

使用 [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);

或者你可以查看这个问题Setting A CGContext Transparent Background .

关于iphone - 如何将 UIImage 和 UILabel 合并为一张图片并保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13522366/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com