iOS_截屏_获取截屏图片
发布日期:2021-05-10 10:08:22 浏览次数:19 分类:精选文章

本文共 4692 字,大约阅读时间需要 15 分钟。

iOS ������������������������

���iOS������������������������������������������������������������������������������������������������������������������������������������������������������

������������������������

������������������������UIApplication���������������������������������������������������������������������������������������

// ������������������
[N ������������ stringBy������������������self ���selector: @selector(userDidTakeScreenshot:) name:UIApplicationUserDidTakeScreenshotNotification object:nil];

���������������������������������������������������������������������������������������������������������������������������

������������������������

������������������������������������������������userDidTakeScreenshot:������������������������������������

// ������������
- (void)userDidTakeScreenshot:(NSNotification *)notification {
NSLog(@"���������������");
// ������������
UIImage *image = [self getScreenHotImage];
// ���������������������
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
}

������������������������������

  • ���������������������������������������������
  • ���������������������������
  • ������������������������������������
  • ������������������������

    ���������������������������������������getScreenHotImage������������������������������������������������������������������

    // ������������������������
    - (UIImage *)getScreenHotImage {
    CGSize imageSize = CGSizeZero;
    // ���������������������������������
    UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;
    // ������������������������������
    if (UIInterfaceOrientationIsPortrait(orientation)) {
    imageSize = [UIScreen mainScreen].bounds.size;
    } else {
    imageSize = CGSizeMake([UIScreen mainScreen].bounds.size.height, [UIScreen mainScreen].bounds.size.width);
    }
    // ���������������������������������������������
    UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0);
    CGContextRef context = UIGraphicsGetCurrentContext();
    // ������������������������������������
    for (UIWindow *window in [[UIApplication sharedApplication] windows]) {
    // ���������������������������
    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);
    // ���������������������������������
    if (orientation == UIInterfaceOrientationLandscapeLeft) {
    CGContextRotateCTM(context, M_PI_2);
    CGContextTranslateCTM(context, 0, -imageSize.width);
    } else if (orientation == UIInterfaceOrientationLandscapeRight) {
    CGContextRotateCTM(context, -M_PI_2);
    CGContextTranslateCTM(context, -imageSize.height, 0);
    } else if (orientation == UIInterfaceOrientationPortraitUpsideDown) {
    CGContextRotateCTM(context, M_PI);
    CGContextTranslateCTM(context, -imageSize.width, -imageSize.height);
    }
    // ������������������������������������
    if ([window respondsToSelector:@selector(drawViewHierarchyInRect:afterScreenUpdates:)]) {
    [window drawViewHierarchyInRect:window.bounds afterScreenUpdates:YES];
    } else {
    [window.layer renderInContext:context];
    }
    // ���������������������������������
    CGContextRestoreGState(context);
    }
    // ������������������������������������
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    // ������������������
    UIGraphicsEndImageContext();
    return image;
    }

    ���������������������������������

  • ���������������������������������������
  • ���������������������������������������������������
  • ������������������������������������������������������������������������������������
  • ������������������������������������������
  • ������������������������������������������������
  • ���������������������
  • ������������������������������������������������������������������������������������UIImage������������������

    ������������

    ���������������������������������iOS���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

    上一篇:iOS_获取HealthKit步数
    下一篇:iOS_图片添加水印_文本倾斜

    发表评论

    最新留言

    留言是一种美德,欢迎回访!
    [***.207.175.100]2025年03月30日 20时55分40秒