您好,登錄后才能下訂單哦!
本工程實現截取當前屏幕功能。
(1)新建一個“Single View Application”工程,取名為“Screenshot”:
(2)點擊工程文件,切換到“Build Phase”,展開“Link Binary With Libraries”,點擊“+”號添加“QuartzCore.framework”框架:
(3)為讓效果更明顯,我們可以自定義背景圖。為養成一種良好的習慣,我們在項目文件夾中新建一個名為“Resource”的資源文件夾,用于存放我們添加到項目的圖片資源。向其中導入一張圖片。
(4)右鍵單擊,在工程目錄中選擇我們剛新建的文件夾。
(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)在運行程序之前,我們先打開模擬器的圖庫看看看:
如果我們從未保存圖片到圖庫,則可見如上圖所示。
(8)這時我們運行程序,程序顯示了我們自定義的圖片。然后再來看圖庫:
可見截屏功能已經實現。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。