猿问

怎么把一个UIView的指定区域存成图片

我已经实现了把一个UIView直接生成图片。UIGraphicsBeginImageContext(myView.bounds.size);
[myView.layerrenderInContext:UIGraphicsGetCurrentContext()];
UIImage*viewImage=UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();但是,我需要截取这个UIView的一部分,比如中间100个像素,怎么实现呢?
叮当猫咪
浏览 586回答 2
2回答

烙印99

[myView.layerrenderInContext:UIGraphicsGetCurrentContext()];这个地方不是已经获取到当前图像的context了么,然后用路径裁剪获取需要的部分应该就可以吧。CGContextBeginPath(context);CGContextAddRect(context,rect)CGContextClip(context);不知道可以么,没有试。

芜湖不芜

UIGraphicsBeginImageContextWithOptions(self.view.bounds.size,YES,1); [self.view.layerrenderInContext:UIGraphicsGetCurrentContext()]; UIImage*img=UIGraphicsGetImageFromCurrentImageContext(); //UIImageWriteToSavedPhotosAlbum(img,self,nil,nil); UIGraphicsEndImageContext();self.view就是想要保存的view我没看清楚题目如果是保存指定区域的话,就把上述代码得到的image,通过下面的代码得到所需的指定区域图片并保存。UIImage*resultImg=[UIImageimageWithCGImage:CGImageCreateWithImageInRect(img.CGImage,rect)];
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答