美文网首页
ios 截图原图、压缩图

ios 截图原图、压缩图

作者: 小明2021 | 来源:发表于2019-04-19 16:19 被阅读0次

注意:获取原图的时候,需要考虑图片的scale,否则截取的图片不对。

/// 获得某个范围内的屏幕图像 -- 原图需要考虑scale
+ (UIImage *)imageFromView:(UIView *)view atFrame:(CGRect)rect {
    /// 不是高清的
//    UIGraphicsBeginImageContextWithOptions(view.frame.size, NO, 1.0);
    /// 高清的
    UIGraphicsBeginImageContextWithOptions(view.frame.size, NO, 0.0);
    [view.layer renderInContext:UIGraphicsGetCurrentContext()];
    
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    // 原图的话需要考虑 scale ---- 这样就ok了,原图,并且图片正常
    CGRect myImageRect = CGRectMake(rect.origin.x*image.scale, rect.origin.y*image.scale, rect.size.width*image.scale, rect.size.height*image.scale);
    // 不是原图,不用考虑
//    CGRect myImageRect = rect;

    CGImageRef imageRef = image.CGImage;
    CGImageRef subImageRef = CGImageCreateWithImageInRect(imageRef,myImageRect );
    
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextDrawImage(context, myImageRect, subImageRef);
    UIImage* smallImage = [UIImage imageWithCGImage:subImageRef];
    CGImageRelease(subImageRef);
    UIGraphicsEndImageContext();
    
    return smallImage;
}


相关文章

  • ios 截图原图、压缩图

    注意:获取原图的时候,需要考虑图片的scale,否则截取的图片不对。

  • iOS 中压缩图片和截图

    一、图片的压缩 图片如何进行缩小处理呢,通常我们拿到原图后,不一定可以得到合适的大小图片,此时需要你对图片进行一定...

  • YYWebImage图片处理 —— 尺寸

    在处理图片的过程中,我们常常也会对其大小进行处理,有压缩啊,有直接画啊,可回看下iOS 中压缩图片和截图。 此处我...

  • iOS屏幕截图的方法

    不用 2d截图 直接截图 上面的方法会压缩图片,用下面的方法可以设置是否缩放图片

  • iOS 图片压缩限制大小最优解

    iOS 图片压缩限制大小最优解 图片的两种压缩方法 1.1 压缩图片质量 1.2 压缩图片尺寸 压缩图片使图片文件...

  • Android-压缩大图到容量超小的图片

    原文 压缩图片的宽高 调用calculateInSampleSize计算压缩比。并解码原图为Bitmap: 这里比...

  • Bitmap压缩图片

    应根据实际展示需要,压缩图片,而不是直接显示原图。手机屏幕比较小, 直接显示原图,并不会增加视觉上的收益,但是却会...

  • bitmap 图片压缩

    应根据实际展示需要,压缩图片,而不是直接显示原图。手机屏幕比较小,直接显示原图,并不会增加视觉上的收益,但是却会耗...

  • iOS 截图的那些事儿

    iOS 截图的那些事儿 iOS 截图的那些事儿

  • iOS优化-瘦身

    图片 1、批量压缩图片(tinyPNG) 用TinyPNG[https://tinypng.com/]将图片进行压...

网友评论

      本文标题:ios 截图原图、压缩图

      本文链接:https://www.haomeiwen.com/subject/mpccgqtx.html