我知道我可以用屏幕截图进行拍摄,但是我的主要图像是圆形的,所以如果我反过来,它仍然会显示出尖锐的边缘.
我可以这样做来组合图像:
//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 representationUIImage * imagePNG = [UIImage imageWithData:imgData]; // wrap UIImage around PNG representationUIGraphicsEndImageContext();return imagePNG;
但不知道如何添加到UILabel.
任何回复都非常感激.
解决方法 使用[myLabel.layer renderInContext:UIGraphicsGetCurrentContext()];在当前的背景下绘制.例如:
UIGraphicsBeginImageContextWithOptions(newImageSize,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,1.0f); CGContextFillRect(context,drawRect);
或者你可以检查这个问题Setting A CGContext Transparent Background.
总结以上是内存溢出为你收集整理的iphone – 如何将UIImage和UILabel组合成一个图像并保存全部内容,希望文章能够帮你解决iphone – 如何将UIImage和UILabel组合成一个图像并保存所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)