小工具      在线工具  汉语词典  css  js  c++  java

ios截图tableview多组数据后,然后拼接一张图片(logo)

IOS系统方法&&常用控件&&GitHub资源学习 额外说明

收录于:42天前

先截取tableview,然后拼成一张图片分享到微信上(略)

// 截取区域图片大小
- (UIImage *)snapshotViewImage
{
    UIImage* image = nil;
    
    /*参数size为新创建的位图上下文的大小
     缩放因子,实际上设为0后,系统就会自动设置正确的比例了。
     opaque — 透明开关,如果图形完全不用透明,设置为YES以优化位图的存储*/
    
    UIGraphicsBeginImageContextWithOptions(self.ljGoodsSourceListASTableView.view.contentSize, YES, 0.0);
    
    //保存tableview当前的偏移量
    CGPoint savedContentOffset = self.ljGoodsSourceListASTableView.view.contentOffset;
    CGRect saveFrame = self.ljGoodsSourceListASTableView.frame;
    
    //将collectionView的偏移量设置为(0,0)
    self.ljTableView.contentOffset = CGPointZero;
    self.ljTableView.frame = CGRectMake(0, 0, self.ljTableView.contentSize.width, self.lljTableView.contentSize.height);
    
    //在当前上下文中渲染出collectionView
    [self.ljTableView.layer renderInContext: UIGraphicsGetCurrentContext()];
    //截取当前上下文生成Image
    image = UIGraphicsGetImageFromCurrentImageContext();
    
    //恢复collectionView的偏移量
    self.ljTableView.contentOffset = savedContentOffset;
    self.ljTableView.frame = saveFrame;
    
    UIGraphicsEndImageContext();
    
    return image;
}

// 拼接两张图片
- (UIImage *)composeTopImage:(UIImage *)topImage bottomImage:(UIImage *)bottomImage
{
    //1.创建上下文尺寸
    CGSize size = CGSizeMake(kDEVICEWIDTH, topImage.size.height +bottomImage.size.height);
    UIGraphicsBeginImageContextWithOptions(size, YES, 0.0);
    
    //2.先把topImage 画到上下文中
    [topImage drawInRect:CGRectMake(0, 0, topImage.size.width, topImage.size.height)];
    //3.再把小图放在上下文中
    [bottomImage drawInRect:CGRectMake(0, topImage.size.height, kDEVICEWIDTH, 140)];
    
    UIImage *resultImg = UIGraphicsGetImageFromCurrentImageContext();//从当前上下文中获得最终图片
    UIGraphicsEndImageContext();//关闭上下文
    
    return resultImg;
}

// 截取图片
- (UIImage *)captureImages
{
    // 第一张图片
    UIImage *shareImage1 = [self snapshotViewImage];
    // 拼接后图片(第二张)
    UIImage *shareImage2 = [self composeTopImage:shareImage1 bottomImage:@"image_selected"];
    // 图片转换
    //NSData *shareImage3 = UIImagePNGRepresentation(shareImage2);
    
    return shareImage2;
}

#pragma mark -- 跳转到另外一个页面展示出来
- (void)jumpClick:(id)sender
{
    UIImage *_llImage = [self captureImages];
    LJViewController *_ljVc = [[LJViewController alloc]init];
    _ljVc.ljimage = _llImage;
    [self.navigationController pushViewController:_ljVc animated:YES];
}


. . .

相关推荐

额外说明

Springboot——websocket使用

文章目录 前言 项目结构 依赖引入 配置bean controller socket.html websocket的服务 运行测试 测试一 测试二 测试三 思路扩充 代码下载 前言 之前写过一篇类似的ws通信的博客,但感觉写的有点不忍直视,同时也不具备发

额外说明

java poi 往xlsx写数据为空

今天遇到一个有趣的问题,不报任何异常, 程序跑完了,居然没往excel里写数据 后来 将SXSSFWorkbook改为XSSFWorkbook才成功!!! /** * 向已存在的excel中追加数据 * * @param

额外说明

最终作业| Python爬虫数据采集可视化分析项目完整版

这是我本学期的数据可视化期末作业,如果对您有帮助,给个关注吧!! 作品效果展示: 柱状图: 柱状图: 折线图: 折线图: 折线图: 数据集: 总共三张表:进行数据分析 代码: 第一个数据集通过爬虫爬取: 获取数据代码: import bs4 import

额外说明

ES搜索引擎-简单入门

基本概念:   索引Index     es吧数据放到一个或者多个索引中,如果用关系型数据库模型对比,索引的地位与数据库实例(db)相当。索引存放和读取的基本单元是文档(document)。es内部使用的是apache lucene实现的索引中数据的读写

额外说明

2021.11.25 关于c语言的数组

 目录 一维数组 关于一维数组的创建 关于数组的打印 关于“strlen”与“sizeof”的区别 关于 sizeof 的基本用途 关于一维数组在内存中的储存 二维数组 关于二维数组的创建  关于二维数组的打印 关于二维数组在内存中的储存 一维数组 关于

额外说明

ubuntu20.04安装pycharm 和 idea

下载Pycharm https://www.jetbrains.com/products/#type=ide-vs 下载之后,为了安装方便重命名为pycharm-2023 解压并安装到 /home/module 进入到Pycharm的下载路径,运行如下命

额外说明

group by和having的区别

group by 按照某个字段或者某些字段进行分组。 having having是对分组之后的数据进行再次过滤 案例 找出每个工作岗位的最高薪资 select max(sal) from emp group by job; 注意:分组函数一般都会和gr

额外说明

对Cache进行浏览并管理

对 Cache进行浏览并管理。 复制   保存 <%@ Page Language="C#" EnableViewState = %> <%@ import Namespace="System" %> <%@ import Namespace="Sy

额外说明

为什么要内存对齐

CPU访问内存时,并不是逐个字节访问,而是以字长(word size)为单位访问。比如32位的CPU,字长为4字节,那么CPU访问内存的单位也是4字节。 这么设计的目的,是减少CPU访问内存的次数,加大CPU访问内存的吞吐量。比如同样读取8个字节的数据,

额外说明

Windows系统Startupscan.dll文件丢失找不到如何处理?

其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个Startupscan.dl

ads via 小工具