美文网首页
记录iOS生成分享图片的一些问题,根据UIView生成固定尺寸的

记录iOS生成分享图片的一些问题,根据UIView生成固定尺寸的

作者: 爱吃萝卜的小蘑菇 | 来源:发表于2019-03-01 17:51 被阅读3次

    测试设备为iPhoneX,目标页面的frameCGRectMake(0, 0, 375, 560)
    目的是为了生成此View的图片,用于分享。
    首先使用此方法生成UIImage
    UIImage *tempImage = [shareView SaveViewImage];

    -(UIImage *)SaveViewImage
    {
        CGSize imageSize    = self.bounds.size;
        UIGraphicsBeginImageContextWithOptions(imageSize, YES, 0);
        [self.layer renderInContext:UIGraphicsGetCurrentContext()];
        UIImage *SaveImage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
      
        return SaveImage;
    }
    

    生成页面结果如下:

    图片分辨率为1125 × 1680
    最终图片分辨率为1125 × 1680
    但是想要输出的结果是750 ×1120
    修改生成上下文的方法为UIGraphicsBeginImageContextWithOptions(CGSizeMake(750, 1120), YES, 0);,重新编译,发现出现了混乱,而且分辨率为2250 × 3360
    图片出现混乱
    修改上下文生成方法为UIGraphicsBeginImageContext(CGSizeMake(750, 1120));发现页面被缩放了:
    页面被缩放
    感觉是viewframe的单位从pt变成了px
    所以修改目标ViewframeCGRectMake(0, 0, 750, 1120),并且把view中的各控件的frame同时调整为两倍,最终生成了符合要求的分辨率为750 ×1120的类似图一效果的目标图片。

    相关文章

      网友评论

          本文标题:记录iOS生成分享图片的一些问题,根据UIView生成固定尺寸的

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