iOS截屏儲存至相簿

來源:互聯網
上載者:User

標籤:

#pragma mark 截屏並儲存至相簿

-(void)screenShotsComplete:(void(^)(UIImage * img)) complete

{

    CGSize imageSize = [[UIScreen mainScreen] bounds].size;

    UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0);

    

    CGContextRef context = UIGraphicsGetCurrentContext();

    

    for (UIWindow * window in [[UIApplication sharedApplication] windows]) {

        if (![window respondsToSelector:@selector(screen)] || [window screen] == [UIScreen mainScreen]) {

            CGContextSaveGState(context);

            CGContextTranslateCTM(context, [window center].x, [window center].y);

            CGContextConcatCTM(context, [window transform]);

            CGContextTranslateCTM(context, -[window bounds].size.width*[[window layer] anchorPoint].x, -[window bounds].size.height*[[window layer] anchorPoint].y);

            [[window layer] renderInContext:context];

            

            CGContextRestoreGState(context);

        }

    }

    

    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    UIImageWriteToSavedPhotosAlbum(image, self, nil, nil);

    NSLog(@"Suceeded!");

    if(complete){

        complete(image);

    }

 

}

 

//點擊儲存至相簿後,出現動畫效果

[self screenShotsComplete:^(UIImage *img) {

            UIImageView * imgView=[[UIImageView alloc]initWithFrame:weakSelf.view.bounds];

            imgView.image=img;

            [weakSelf.view addSubview:imgView];

            

            CGPoint center=CGPointMake(weakSelf.view.center.x, weakSelf.view.center.y-64);

            [UIImageView animateWithDuration:1.0f animations:^{

                imgView.width-=imgView.width;

                imgView.height-=imgView.height;

                imgView.alpha=0.0f;

                imgView.center=center;

            } completion:^(BOOL finished) {

                [imgView removeFromSuperview];

                btn.enabled=YES;

                [HintInfoView showOnView:weakSelf.view hintTitle:@"儲存成功!" hintFont:weakSelf.commonTitleFont];

            }];

            

            

        }];

    };

 

 

 

 

 

iOS截屏儲存至相簿

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.