1. 程式人生 > >iOS 獲取螢幕某個區域的截圖

iOS 獲取螢幕某個區域的截圖

-(void)fullScreenshots{

UIWindow *screenWindow = [[UIApplicationsharedApplication] keyWindow];

UIGraphicsBeginImageContext(screenWindow.frame.size);//全屏截圖,包括window

    [screenWindow.layerrenderInContext:UIGraphicsGetCurrentContext()];

UIImage *viewImage =UIGraphicsGetImageFromCurrentImageContext

();

UIGraphicsEndImageContext();

//    UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);

float originX =_sampleView.frame.origin.x;

float originy =_sampleView.frame.origin.y;

float width =_sampleView.frame.size.width;

float height =_sampleView.frame.size.height;

//你需要的區域起點,,;

CGRect

rect1 =CGRectMake(originX , originy , width , height);

UIImage * imgeee = [UIImageimageWithCGImage:CGImageCreateWithImageInRect([viewImageCGImage], rect1)];

UIImageView *snapImg = [[UIImageViewalloc] initWithFrame:CGRectMake(0,200, 170,170)];

    snapImg.backgroundColor = [UIColorredColor];

    snapImg.

image = imgeee;

    [self.viewaddSubview:snapImg];

}

或者:

- (void)snapAction:(UIButton *)btn {

UIImage *image = [selfsnapshot:_sampleView];

UIImageView *snapImg = [[UIImageViewalloc] initWithFrame:CGRectMake(0, 200, 170, 170)];

    snapImg.layer.borderWidth = 1;

    snapImg.image = image;

    [self.viewaddSubview:snapImg];

}

- (UIImage *)snapshot:(UIView *)view {

UIGraphicsBeginImageContextWithOptions(view.bounds.size,YES,0);

    [view drawViewHierarchyInRect:view.boundsafterScreenUpdates:YES];

UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return image;

}


相關推薦

iOS 獲取螢幕某個區域

-(void)fullScreenshots{ UIWindow *screenWindow = [[UIApplicationsharedApplication] keyWindow]; UIGraphicsBeginImageContext(screenWin

Java指定螢幕區域

擷取指定螢幕區域的螢幕,並儲存到指定資料夾中,Demo如下:import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; import

app內區域利用html2Canvals保存到手機 屏 (html2Canvals2版本1.0.0)

false wim UNC ict led gallery containe pan mage html2canvas($("#pop_predict_img_container")[0], {scale:2,logging:false,useCORS:true}).th

iOS獲取螢幕寬度

在AppDelegate.h檔案中宣告一個全域性變數: @property int currentWidth;//當前螢幕寬度 在AppDelegate.m中,新增:@synthesize currentWidth; 然後在 (BOOL)application

PHP後臺自動獲取視訊資訊並功能例項

名稱:php自動獲取視訊資訊並截圖 描述:PHP後臺自動獲取視訊資訊並截圖功能例項,包含ffmpeg的安裝步驟。 版本:所有版本 步驟1:確保 shell_exec() 函式是否可用!,php.ini中修改下方禁用函式。 disable_functions = pa

puppeteer實現線上伺服器任意區域

整個九月份由於業務繁重以及玩心頗重,一直沒有機會來寫一篇博文。而且筆者於十月一日將會舉辦人生大事--婚禮,現在家裡籌辦過程中只能抽出零碎的時間來寫這篇文章。 關於服務端截圖,這種使用場景非常少見,大多伺服器不同於PC機器並不提供相關圖形介面以及圖形庫,所以對不同的系統的不同版本的伺服器需要安裝不同的共享庫。同

iOS 關於監聽手機,UIView生成UIImage, UIImage裁剪與壓縮的總結

一.  關於監聽手機截圖 1. 背景: 發現商品的售價頁總是被人轉發截圖,為了方便使用者新增截圖分享的小功能 首先要註冊使用者截圖操作的通知 - (void)viewDidLoad { [super viewDidLoad]; //註冊使用者的截圖操作通知 [[N

Android 任意區域

1、全屏截圖 Android其實可以做到任意區域截圖,不過我們先來看看整個螢幕截圖程式碼,相信大家很熟悉,程式碼如下 View decorView = activity.getWindow().getDecorView(); decorView.setD

Android安全性:遮蔽activity螢幕錄製,功能

在Android中涉及使用者隱私的Acitivity中(例如登入,支付等其他輸入敏感資訊的介面中)增加屬性: WindowManager.LayoutParams.FLAG_SECURE

iOS 防止錄屏和的監聽

iOS實現不了不讓截圖或者錄屏,但是提供的截圖或者錄屏的監聽方法,我們也可以通過監聽方法來拿到截圖的圖片,為此參考了支付寶和微信支付時,截圖的處理方式。  通過上圖發現,其實圖片都已經儲存到本地相簿中,程式監聽到了截圖的事件,然後給予友好的提示,接下來說下實現的方法

IOS開發-幾種方法

1.        UIGraphicsBeginImageContextWithOptions(pageView.page.bounds.size, YES, zoomScale);        [pageView.page.layer renderInContext:

分享iOS中常用的繪圖, 方法

設定某些角為圓角, 使用UIBezierPath let layer = CAShapeLayer() // 這裡byRoundingCorners -> 指定圓角 layer.path = UIBezierPath(roundedRect: testView.boun

C# 影象處理(二)(螢幕擷取、外掛)

雙擊執行截圖外掛,工具預設延時5秒後截圖 可擷取全屏可擷取到快捷選單和滑鼠 也可通過cmd命令執行工具,呼叫示例引數如下: REM 呼叫截圖工具進行截圖 call "%~dp0getScreen.exe" REM 儲存到指定目錄(D:\tmp\截圖.png) call

Android中如何獲取視訊檔案的、縮

背景 公司最近要求給我負責的APP加上視訊錄製和釋出的功能,我簡單的完成了基本的錄製和視訊壓縮功能,後來發現釋出介面需要上傳視訊的截圖,網上搜索了一下資料,在這裡整理一下。 程式碼實現 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Android實現指定區域的實現

2012-03-15 13:02 1949人閱讀 評論(1) 收藏 舉報 分類: android(56) View view = activity.getWindow().getDecorView();   view.setDrawingCacheE

iOS開發——監聽系統並獲得(含狀態列statusBar和鍵盤keyboard)

補充:經過真機測試,這份程式碼一點用都沒有-_- 專案需要得到獲得截圖然後生成自己的分享圖,某度能找到的基本都是怎麼獲取View的檢視,但是幾乎沒有提到包含狀態列(貌似只看到一個),而包含鍵盤的就真的沒有了。經過一翻查詢,在stackoverflow上找到了截

Android上如何實現矩形區域

對螢幕進行截圖並裁剪有兩種方式:早截圖和晚截圖。早截圖,就是先擷取全屏,再讓使用者對擷取到的圖片進行修改;與之相對的,晚截圖,就是先讓使用者在螢幕上劃好區域,再進行截圖和裁剪。其實兩者並沒有什麼太大的區別,這篇就說說怎麼實現晚截圖。 晚截圖可以分成三步: 1

iOS 獲取螢幕寬高巨集

#define SCREEN_WIDTH   [UIScreen mainScreen].bounds.size.width #define SCREENH_HEIGHT [UIScreen m

IOS獲取螢幕解析度

           獲取螢幕解析度是個很有用的功能,尤其在一些遊戲相關的開發中,圖形的繪製與螢幕解析度密不可分。得到當前螢幕的解析度是必不可少的支援。 獲取螢幕解析度可以兩步走 1、得到當前螢幕的尺寸: CGRect rect_screen = [[UISc

免費實用的螢幕錄影與軟體 (製作視訊教程/錄製直播視訊)

電腦螢幕截圖的軟體有很多,但更多時候為了方便展示一些電腦操作,我們還是希望可以進行螢幕錄影的。不過免費好用支援錄製桌面視訊的軟體並不是很多。 oCam 是一款設計簡單但功能實用的免費螢幕截圖/螢幕錄影/音訊錄製軟體。在截圖或錄影時,使用者可以選擇全屏模式或者自定義區域大小,