友盟分享长图片,如何截取长图片去分享

     实际开发中有没有发现有很多应用都是分享长图片呢?咋一看分享图片这是怎么做的呢,是不是后台返回链接图片做的呢,再一看不像哎,那怎么解决呢?

其实很简单啦

// 长图 类型可以是 tableView或者scrollView 等可以滚动的视图 根据需要自己改

- (UIImage *)saveLongImage:(UIScrollView *)scrollview{
    
    UIImage* image = nil;
    
    // 下面方法,第一个参数表示区域大小。第二个参数表示是否是非透明的。如果需要显示半透明效果,需要传NO,否则传YES。第三个参数就是屏幕密度了,调整清晰度。
    
    UIGraphicsBeginImageContextWithOptions(scrollview.contentSize, YES, [UIScreen mainScreen].scale);
    
    CGPoint savedContentOffset = scrollview.contentOffset;
    
    CGRect savedFrame = scrollview.frame;
    
    scrollview.contentOffset = CGPointZero;
    
    scrollview.frame = CGRectMake(0, 0, scrollview.contentSize.width, scrollview.contentSize.height);
    
    [scrollview.layer renderInContext: UIGraphicsGetCurrentContext()];
    
    image = UIGraphicsGetImageFromCurrentImageContext();
    
    scrollview.contentOffset = savedContentOffset;
    
    scrollview.frame = savedFrame;
    
    UIGraphicsEndImageContext();
    
    return image;
    
}

上面的代码就可以解决啦,但是有一点小差别那就是

        

第一张图是测试tableView所分享的结果,第二张是scrollView所分享的结果,这个就要端看自己的需要啦

搞定,是不是很简单。。。。。。。

有没有发现有些问题很简单,只是我们看着长长的代码觉得是难的,其实恰恰相反,也就和学英语是一样的 is a this where 等这些单词多简单啊,可是用法多种多样,反而那些长长的单词我们只需要知道意思就可以啦。一样的意思

发布了82 篇原创文章 · 获赞 93 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/sun_cui_hua/article/details/82759273