ios 代码截屏模糊问题解决办法

我们常用的截图方法如下所示:

//尺寸是按照

UIGraphicsBeginImageContext(CGSizeMake(100,100 ));     //currentView 当前的view  创建一个基于位图的图形上下文并指定大小为
    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];//renderInContext呈现接受者及其子范围到指定的上下文
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();//返回一个基于当前图形上下文的图片
    UIGraphicsEndImageContext();//移除栈顶的基于当前位图的图形上下文
    UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);//然后将该图片保存到图片图

这个方法比较简单   一般都用这个方法

但是可能有的对截图的清晰度要求比较严  那么我们需要对这个方法进行修改  如下:

UIGraphicsBeginImageContextWithOptions(CGSizeMake(100,100 ), NO, 0.0); //currentView 当前的view  创建一个基于位图的图形上下文并指定大小为
    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];//renderInContext呈现接受者及其子范围到指定的上下文
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();//返回一个基于当前图形上下文的图片
    UIGraphicsEndImageContext();//移除栈顶的基于当前位图的图形上下文
    UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);//然后将该图片保存到图片图

主要是UIGraphicsBeginImageContextWithOptions方法发生了变化:

这里应该是ios7及以后设置分辨率的方法

通入下面方法截取的屏幕图片会比较清晰

时间: 2024-10-13 21:57:50

ios 代码截屏模糊问题解决办法的相关文章

代码截屏与触摸事件常用函数(iOS)

代码截屏分五步: 首先在视图控制器上创建一个视图 UIView *aView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 568)]; aView.backgroundColor = [UIColor blackColor];[self.view addSubview:aView];[aView release]; 1.设置要截屏的图片大小 UIGraphicsBeginImageContext(aView.frame.size);

代码截屏

//代码截屏//    UIGraphicsBeginImageContext(view.frame.size);//    //对哪个视图截图给定大小的图片//    [ view.layer renderInContext:UIGraphicsGetCurrentContext()];//    //    //获取截图的图片对象//    UIImage * image = UIGraphicsGetImageFromCurrentImageContext();//    //结束绘制图片

IOS手机截屏

IOS手机截屏 主要步骤 1.创建一个图形上下文      2.将屏幕绘制到其中 3.保存图片到相册       4.关闭图形上下文 IOS手机截屏 具体实现 - (IBAction)truncation:(UIButton *)sender { // 延迟2 秒之后再截屏    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

代码截屏的实现

//代码截屏 //(1)设置要截屏的图片大小 UIGraphicsBeginImageContext(self.view.frame.size); //(2)对哪个视图截图固定大小得图片 [self.view.layer renderInContext:UIGraphicsGetCurrentContext()]; //(3)获取截图的图片对象 UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); //(4)结束绘制图片 UI

iOS应用截屏

iPhone自从推出后就自带了截屏功能,简单而易用,所以应用就没什么截屏的需求了,不过有些时候我们还是会遇到这个需求.比如,我们开发了一个播放器,用openGL进行video render,此时直接截屏有可能有OSD叠加内容,所以希望能截完全是视频的帧,这时就需要应用自己来实现了. 从应用角度看,虽说都是截屏,但用不用openGL是不同的,因为openGL是直接写GPU frame buffer的,如果我们是直接用UIController来用做的界面: [objc] view plaincopy

Java代码截屏

使用java,借助Robot这个类可以实现软件截屏,代码如下: package test; import java.awt.AWTException; import java.awt.DisplayMode; import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; import java.awt.Image; import java.awt.MenuItem; import java.awt.PopupMenu;

IOS开发—截屏

- (void)actionShot:(UIButton *)sender{ //可以隐藏按钮,渲染完后显示回来 self.buttonShot.hidden =YES; //创建图形上下文 UIGraphicsBeginImageContextWithOptions(CGSizeMake(self.view.frame.size.width,self.view.frame.size.height),NO, 0); //获取图形上下文并将当前屏幕渲染到图形上下文上 AppDelegate *de

iOS开发--截屏

- (void)snapshotScreen:(UIView *)myView {    CGSize size = myView.bounds.size;    UIGraphicsBeginImageContextWithOptions(size, NO, [UIScreen mainScreen].scale);    CGRect rect = myView.frame;    //  自iOS7开始,UIView类提供了一个方法-drawViewHierarchyInRect:afte

Unity Spine 动画模糊问题解决办法

1.在项目开发中有时候我们会使用到美工给我们制作的Spine动画,在这里呢我就不先介绍如何使用Spine动画在unity,而是先写关于解决我在项目中遇到的问题,也就是Unity播放Spine动画模糊问题. 2.对于解决图片已经动画模糊问题,我们一般都是选择查看我们的资源图片是否超过了 我们的最大值以及图片的格式化是否为压缩,这些都有可能导致我们的图片模糊以至于播放发动画也会模糊. 3.另一个解决办法是对unity项目进行设置,打开你的项目工程,在菜单栏选择编辑 之后会看到一个项目设置, 选择项目