原创
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
昨天晚上,CSDN上看到选招聘女神的活动,然后我把花花投给了一个不太漂亮的MS是UC优视的招聘女神,就是因为我最喜欢她的那句竞选标语,大意如此:“别人以为你的世界只有代码,可我知道你是在创造完美世界”。这也是我一个女生为什么会坚持奋斗在这一岗位上的原因之一。我也是相信我做的事终会有意义有价值,会让别人的生活变得更好。
OK,进入关于截图的小结。
1、UIView保存指定大小,指定图层
UIGraphicsBeginImageContextWithOptions(self.lableBackgroundView.theImage.bounds.size, NO, [[UIScreenmainScreen]scale]);
[self.lableBackgroundView.theImage.layerenderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(image, self, nil, nil);
这段代码可以实现对self.lableBackgroundView.theImage.layer图层内容的保存。
self.lableBackgroundView.theImage.bounds.size是要保存的图层的大小。
注意这句:
UIGraphicsBeginImageContextWithOptions(self.lableBackgroundView.theImage.bounds.size,NO, [[UIScreenmainScreen]scale]);
//如果你的屏幕是retina,那[[UIScreenmainScreen]scale]设备分辨率为2
但是,经常会看到用这一句代替:UIGraphicsBeginImageContext(self.designView.bounds.size);
//这里默认[[UIScreenmainScreen]scale]为1,所以retina在这句代码下的截图,严重不清晰。
2、全屏截图
- (void )Screen
{
//全屏截图
CGImageRef UIGetScreenImage();
CGImageRef img = UIGetScreenImage();
UIImage* scImage=[UIImage imageWithCGImage:img];
scImage =[scImage imageRotatedByDegrees:M_PI/2];
UIImageWriteToSavedPhotosAlbum(scImage, nil, nil,nil);//存入相册
}
这段代码的效果就跟按HOME+头顶键截图的效果一样。
对全屏截图的处理
#define IsIOS7 ([[[[UIDevice currentDevice] systemVersion] substringToIndex:1]intValue]>=7)
- (void)screView:(CGRect )arect
{
//区域截图
UIImage *snapshot;
CGImageRef UIGetScreenImage();
CGImageRef cgScreen = UIGetScreenImage();
if (cgScreen) {
snapshot = [UIImage imageWithCGImage:cgScreen];
CGImageRelease(cgScreen);
}
CGRect rect;
if ([[UIScreen mainScreen]respondsToSelector:@selector(scale)]&& [[UIScreen mainScreen]scale]==2) {//获取高清size
rect = CGRectMake(arect.origin.x *2, arect.origin.y*2 + (IsIOS7?0:20*2), arect.size.width*2, arect.size.height*2);
}else
{
rect = CGRectMake(arect.origin.x, arect.origin.y+(IsIOS7?0:20), arect.size.width, arect.size.height);
}
UIImage *res = [UIImage imageWithCGImage:CGImageCreateWithImageInRect([snapshot CGImage], rect)];
UIImageWriteToSavedPhotosAlbum(res, nil, nil, nil);
}
参考:http://blog.csdn.net/huangjingjin520/article/details/14523117
图片由大变小,不会失真。但由小变大会影响它的像素,会使图片失真。我们在做图的时候,经常把图由大变小、由小变大,调整合适的位置。如果我们在调整前先将图片-右击-转化为智能图层,这样调大调小的时候就不会...博文来自: fengzideshijie2的博客
摘要:本文主要讲的是如何利用SolidWorks来截屏图像,使得图像能够生成一般截图软件没有办法达到的高清质量。下面就简单的介绍。很多时候我们在做技术交流报告,建立PPT,或者为零件装配体做宣传册的...博文来自: ddsoft123的博客
注:网络加载-相同图片也就是图片的地址相同,所以在此处介绍的是图片地址相同的方法,如果是拍照图片,同理;试着想用对图片解码处理。。这个应该可以扩展使用方法 ManagerImagesLocal 是保存...博文来自: 加勒比海兔的专栏
IELTS12 Test5 It is good to share as much information as possible in any areas
这是IELTS12 Test5的一个话题,题目主要是讲分享信息的重要性讨论,我列举了我在科研上遇到的信息分享的问题,并鼓励大家进行分享,当然,有很多人处于种种原因,不愿意进行分享,我们要尊重他们,不能...博文来自: 你的朋友不及格,你很难过;你的朋友考了第一,你更难过。
用UIImageWriteToSavedPhotosAlbum往照片库里面存图片时,经常发生缩略图能看到但原图消失的问题用 UIImageWriteToSavedPhotosAlbum(imageSa...博文 trandy的专栏
从一张图片上截取一块后,截取的图片比原图清晰度差了。 有没有保持同样清晰度的方法,或者说截取的图片比原图差的原因、以及改进方法。 求指教谢谢论坛
createdatabasescaffold;usescaffold;CREATETABLEresource(idintnotnullprimarykeyauto_increment,resource...博文来自: tianjingle
裁剪图片方法CGImageCreateWithImageInRect(CGImageRef _Nullable image, CGRect rect)参数解析:image: 需要被裁剪的图片 re...博文来自: LinXunFeng的博客
虚拟机搭建Hadoop集群安装包准备操作系统:ubuntu-16.04.3-desktop-amd64.iso软件包:VirtualBox安装包:hadoop-3.0.0.tar.gz,jdk-8u1...博文来自: oschina_41780448的博客
直接用dynamo的模块来弄逻辑关系,其实也挺麻烦的,尤其是要用到方法,循环等等,更甚。所以能够书写Python代码可以做到事半功倍。首先来用python来写第一个代码快,来hellodynamo一下...博文来自: niuge8905的博客
初学正则表达式,测试一下,最最最简单的qq邮箱验证。规定qq号码必须是5~12位的数字,后面必须跟".com",形如"12345@qq.com".网上定义正则表达式的时候有的用引号,如varreg="...博文来自: 弱智de克星
共同精进Revit及编程开发技能兴趣群:660319009本文转自http://www.diyitui.com/content-1436774475.32513395.html这可以说是在Dynamo...博文来自: niuge8905的博客
QtCreater提供6种Button控件。如下图:Button控件介绍控件类控件名中文名QPushButtonPushButton推动按钮QToolButtonToolButton工具按钮QRadi...博文来自: 金属服务,美好生活,天网改变世界,华帝量子科技。
使用百度API获取地名坐标信息百度API使用前需要申请AK 申请地址:http://lbsyun.baidu.com/apiconsole/key在这里,http://lbsyun.baidu.co...博文来自: baidu_36447683的博客
网页缩放或者放大问题解决方式:按住Ctrl键并滑动鼠标滚轮将缩放比调制100%,看是否解决。系统的显示里面是否将文本调大或调小了如图:如果是这里的原因,你可以不将这里调回100%,你可以到浏览器的设置...博文来自: _热雪的博客
Revit中Dynamo中的PythonScript模块能够自由编程,做Revit二次开发的人能够很熟练的使用Revit的API,但是都是用的C#语言,而且是在VisualStudio的环境中使用的。...博文来自: niuge8905的博客
之前使用过cadence画过几块板子,一直没有做过整理。每次画图遇到问题时,都查阅操作方法。现在整理一下cadence使用经历,将遇到问题写出来,避免重复犯错。一、SCH原理图设计1)原理图设计2)标...博文来自: hailin0716的专栏
当我们直接使用CGImageCreateWithImageInRect获取图片时,会发现我们实际得到的截取图像,恰好是当rect旋转90°时,应该得到的图像:- (UIImage *)cropImag...博文来自: maggiezzzzZ的博客
1、iPhone几种截屏的代码分享http://www.open-open.com/lib/view/open1338889537109.html博文来自: 仗剑走天涯
问题:用Snagit截图做说明书,截取界面插入word后,由于图片显示大小比原图要小很多,所以图片里的文字非常不清晰。解决办法:设置Snagit菜单【捕获】--【滤镜】中两个设置:1、【图象分辨率】:...博文来自: jjhua的专栏
原文 http://stackoverflow.com/questions/19024785/calayer-renderincontext-ios7ios 6UIGraphicsBeginImage...博文来自: 冷胜任 的专栏
一个没有用Arc的代码中,对图片做压缩后赋给一个新的anImage,代码如下:UIImage* anImage;UIImage* originImage = [UIImage imageWithD...博文来自: Flying_in_the_world的专栏
报网络异常!err。 打开console查看提示错误 https://skytop.883284.com 不在以下 request 合法域名列表中,请参考文档:https://mp.weixin.qq...博文来自: 柴米yo的专栏
我们经常使用UIGraphicsBeginImageContext 截图,发现放在手机上不清晰 UIGraphicsBeginImageContext(v.frame.size); [v....博文来自: chmod_R_755的专栏
通过之前的学习我知道了当前 Linux 系统下任务调度策略主要有三种:1、SCHED_OTHER:普通任务调度策略。2、SCHED_FIFO:实时任务调度策略,先到先服务。一旦占用cpu则一直运行,直...博文来自: mick_seu的博客
S7-200是西门子老一代的产品,已经停产,且对于WIN7及以后的系统支持不好。最近找到了一个比完美的解决方案:在WINDOWS系统下安装VMWARE12,在里面安装纯净版的WINXP虚拟机,然后再安...博文来自: chengjl8的博客
在苹果开发中,我们可以使用苹果提供的NSURLConnection和NSURLRequest网络请求API来解决大部分的WebService请求,但使用起来不是很简洁方便,因此正面介绍一个第三方提供的...博文来自: LXL_815520的博客