• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ios > 截长图显示不出来

截长图显示不出来

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了苹果手机怎么截长图,怎么截长图,电脑怎么截长图,如何截长图,截长图等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 截长图显示不出来
描述:

最近要做‘截长图分享’,需要将view上显示的所有内容转换成image。查找资料做了,但是获取的图片只显示一部分,下面是代码,大神给看看:

-(UIImage*)getLongShotsImageView:(UIScrollView*)scrollview

{
        NSMutableArray *imgArray = [[[NSMutableArray alloc]initWithCapacity:0] autorelease];
        
        NSInteger total = ceilf(scrollview.contentSize.height/scrollview.frame.size.height);
        
        CGSize size = CGSizeZero;
        for (NSInteger i = 0; i < total; ++i)
        {
            [scrollview setContentOffset:CGPointMake(0, i*scrollview.frame.size.height)]
            ;
        if (i == total-1) {
            size = CGSizeMake(self.view.frame.size.width, scrollview.contentSize.height- i*scrollview.frame.size.height);
            
        } else {
            size = scrollview.frame.size;
        }
        
        UIGraphicsBeginImageContextWithOptions(size, NO, [UIScreen mainScreen].scale);
        CGContextRef context = UIGraphicsGetCurrentContext();
        
        CGContextSaveGState(context);
        CGContextTranslateCTM(context, -scrollview.frame.origin.x, -scrollview.frame.origin.y);
        
        [scrollview.layer renderInContext:context];
        
        CGContextRestoreGState(context);
        
        UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
        [imgArray addObject:img];
        
        UIGraphicsEndImageContext();
    }
    
    // 拼接
    UIImage *image = imgArray[0];
    if (imgArray.count == 1) {
        return image;
    }
    
    for (NSInteger i = 1; i < imgArray.count; i++)
    {
        image = [self combineWithTopImage:image BottomImage:imgArray[i]  ImageSacle:[UIScreen mainScreen].scale];
        if (i == imgArray.count-1) {
            break;
        }
    }
    
    return image;
}
- (UIImage *)combineWithTopImage:(UIImage*)image1 BottomImage:(UIImage*)image2 ImageSacle:(CGFloat)imageSacle
{
 CGFloat w = image1.size.width;
    CGFloat h = image1.size.height + image2.size.height;
    
    CGSize offSize = CGSizeMake(w, h);
    
    UIGraphicsBeginImageContextWithOptions(offSize, NO, imageSacle);
    
    CGRect rect1 = CGRectMake(0, 0, w, image1.size.height);
    
    
    [image1 drawInRect:rect1];

    
    CGRect rect2 = CGRectMake(0, rect1.origin.y+image1.size.height, w, image2.size.height);
    [image2 drawInRect:rect2];
    
    UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return img;

}

图:


解决方案1:

你把

 CGContextTranslateCTM(context, -scrollview.frame.origin.x, -scrollview.frame.origin.y);

改成

CGContextTranslateCTM(context, -scrollview.contentOffset.x, -scrollview.contentOffset.y);


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 截长图显示不出来

相关文章

  • 2017-06-05 iOS项目编译错误"_OBJC_CLASS_$_FCUtility",referencedfrom:
  • 2017-06-05 天增岁月人增寿CocoaPods101版本增加的新写法?
  • 2017-06-05 如何高效的准确的获取一个工程所有控制器的viewdidload方法的执行时间?
  • 2017-06-05 代码持续更新tableview与用户滑动tableview冲突?
  • 2017-06-05 OC编程碰到一个奇葩的问题,百思不得其解,求指点
  • 2017-06-05 win10安装bootcamp安装win10后怎么访问mac
  • 2017-06-05 upyuniOS提交审核,upyun图片加载不出来
  • 2017-06-05 iOS如何在应用内禁止截屏。为了保护一些信息的传播
  • 2017-06-05 用磁盘工具打包APP在OSX上安装后,不出现lanuchpad上
  • 2017-06-05 iPhone5真机下使用扫一扫功能扫描二维码,用苹果自带正则表达式却崩溃了

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 利用MJYY等第三方解析时,当服务器返回JSON某个值为nil或特殊值时,不赋值model
    • 苹果ios系统iOS系统分享的那些坑
    • 如何将pdf文件转换成word文件将多张照片合成一个pdf文件
    • iOSAppIOS企业开发者账号发布APP的问题
    • ios开发,UITableViewCell上的控件被其他的cell遮挡了?
    • 情到浓时情转薄UIimage转NSData时候内存过大
    • ios被植入病毒iOS打包问题,求大神指教,被这问题卡住了!
    • ReactNative程序IOS模拟器显示太大,怎么调整?
    • iOS隐藏navigationbar分割线,View高度减少64??
    • 谁能说下,ios应用的开发流程。做个简单的新闻系统怎么实现?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有