-(IBAction) screenShot: (ID) sender{ UIGraphicsBeginImageContext(sshot.frame.size); [self.vIEw.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *vIEwImage = UIGraphicsGetimageFromCurrentimageContext(); UIGraphicsEndImageContext(); UIImageWritetoSavedPhotosAlbum(vIEwImage,nil,nil);}
这个功能很好,但是我需要能够把屏幕截图基本上放在我只需要三分之一屏幕(中心部分)的位置.我试过使用
UIGraphicsBeginImageContext(CGSize 150,150);
但是发现每个东西都是从0坐标中得到的,有人有任何想法如何正确定位.
解决方法@H_301_24@ 那么截图是从你画的画布中取出的.所以,而不是在整个上下文中绘制你的图层,参考左上角,你将画出你想要截图的地方.
//first we will make an UIImage from your vIEwUIGraphicsBeginImageContext(self.vIEw.bounds.size);[self.vIEw.layer renderInContext:UIGraphicsGetCurrentContext()];UIImage *sourceImage = UIGraphicsGetimageFromCurrentimageContext();UIGraphicsEndImageContext();//Now we will position the image,X/Y away from top left corner to get the portion we wantUIGraphicsBeginImageContext(sshot.frame.size);[sourceImage drawAtPoint:CGPointMake(-50,-100)];UIImage *croppedImage = UIGraphicsGetimageFromCurrentimageContext();UIGraphicsEndImageContext();UIImageWritetoSavedPhotosAlbum(croppedImage,nil);总结
以上是内存溢出为你收集整理的objective-c – iOS屏幕截图部分全部内容,希望文章能够帮你解决objective-c – iOS屏幕截图部分所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)