温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

iPhone程序截屏

发布时间:2020-07-24 12:13:19 来源:网络 阅读:283 作者:江山风雨 栏目:开发技术

本工程实现截取当前屏幕功能。

(1)新建一个“Single View Application”工程,取名为“Screenshot”:

iPhone程序截屏

(2)点击工程文件,切换到“Build Phase”,展开“Link Binary With Libraries”,点击“+”号添加“QuartzCore.framework”框架:iPhone程序截屏

iPhone程序截屏

(3)为让效果更明显,我们可以自定义背景图。为养成一种良好的习惯,我们在项目文件夹中新建一个名为“Resource”的资源文件夹,用于存放我们添加到项目的图片资源。向其中导入一张图片。

(4)右键单击,在工程目录中选择我们刚新建的文件夹。

iPhone程序截屏


(5)设置背景图为我们刚导入的图片。我们只作测试用,所以我们可以在“ViewDidLoad”中设置背景衅图。

在ViewController.m文件中导入头文件:

#import"QuartzCore/QuartzCore.h"


在头文件中添加以下两个函数:

    /** 设置背景 */
- (void)setBgImg;
    /** 截屏 */
- (void)screenshot;


在m文件中实现上面这两个函数:

- (void)setBgImg{
                     
    UIImageView *imgV = [[UIImageView alloc] initWithImage:[UIImage p_w_picpathNamed:@"QQ20130728-7.png"]];
    [self.view addSubview:imgV];
}
- (void)screenshot{
    //将整个self.view大小的图层形式创建一张图片p_w_picpath
    UIGraphicsBeginImageContext(self.view.bounds.size);
    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage*p_w_picpath=UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    //然后将该图片保存到图片库
    UIImageWriteToSavedPhotosAlbum(p_w_picpath,self,nil,nil);
}


(6)最后在“ViewDidLoad”函数中引用这两个函数:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    [self setBgImg];
    [self screenshot];
}


(7)在运行程序之前,我们先打开模拟器的图库看看看:

iPhone程序截屏


如果我们从未保存图片到图库,则可见如上图所示。


(8)这时我们运行程序,程序显示了我们自定义的图片。然后再来看图库:

iPhone程序截屏


可见截屏功能已经实现。


附件:http://down.51cto.com/data/2363232
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI