2011-10-02 91 views
0

这是我用来将UIView转换为UIImage然后通过电子邮件发送出去的代码。当我去发送新的图像时,会切断边缘而不是底部。我确实有滚动视图,因为图像比屏幕大。UIGraphicsBeginImageContext切断图像

UIGraphicsBeginImageContext(viewSubs.bounds.size); 
[viewSubs.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

回答

0

这是在视网膜屏幕设备上,使比例因子是2.0?尝试使用UIGraphicsBeginImageContextWithOptions(viewSubs.bounds.size, YES, 0.0f);代替自动将比例因子设置为主屏幕的比例因子。

+0

感谢您的回应!它是视网膜屏幕。不幸的是,它没有工作,但感谢'ContextWithOptions'视网膜显示。有没有办法改变图层的大小? – user904952

+0

您可以分享一些界面外观样式以及由此产生的错误渲染图像的样子吗? –

+0

嘿马特!我所做的只是将“Aspect Fill”从“Aspect Fit”改为“Aspect Fit”,它使图像稍微小一些,但它的工作原理。如果你喜欢,我可以发给你,你可以发邮件给你吗? – user904952