iOS 生成缩略图等
来源:互联网 发布:覆盖cookie变量php 编辑:程序博客网 时间:2024/05/24 23:12
最近公司 项目,下载后在下载列表要展示。但是原图展示,占用内存太大,卡顿,如果不放到内存,直接读文件的话,读取速度还是很慢,滑动卡顿。
最后决定本地生成缩略图,完成展示。效果不错。
写了两个方法 都是基于CoreGraphics,在画布上完成的。代码简单,有需要的可以参考。
//1.自动缩放到指定大小+ (UIImage *)thumbnailWithImage:(UIImage *)image size:(CGSize)asize{ UIImage *newimage; if (nil == image) { newimage = nil; } else{ UIGraphicsBeginImageContext(asize); [image drawInRect:CGRectMake(0, 0, asize.width, asize.height)]; newimage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); } return newimage; }//2.保持原来的长宽比,生成一个缩略图+ (UIImage *)thumbnailWithImageWithoutScale:(UIImage *)image size:(CGSize)asize{ UIImage *newimage; if (nil == image) { newimage = nil; } else{ CGSize oldsize = image.size; CGRect rect; if (asize.width/asize.height > oldsize.width/oldsize.height) { rect.size.width = asize.height*oldsize.width/oldsize.height; rect.size.height = asize.height; rect.origin.x = (asize.width - rect.size.width)/2; rect.origin.y = 0; } else{ rect.size.width = asize.width; rect.size.height = asize.width*oldsize.height/oldsize.width; rect.origin.x = 0; rect.origin.y = (asize.height - rect.size.height)/2; } UIGraphicsBeginImageContext(asize); CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetFillColorWithColor(context, [[UIColor clearColor] CGColor]); UIRectFill(CGRectMake(0, 0, asize.width, asize.height));//clear background [image drawInRect:rect]; newimage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); } return newimage; }
0 0
- iOS 生成缩略图等
- ios 生成图片缩略图
- ios 生成图片缩略图
- iOS 生成缩略图
- php 等比例生成缩略图
- PHP等比例生成缩略图
- 用JavaScript自动生成等比例缩略图
- C#生成缩略图 等比例缩放
- C#生成缩略图 等比例缩放
- [蛙蛙推荐]用JS自动生成等比例缩略图
- Asp.net 图片等比例生成缩略图,外带一个数学公式
- 图片操作:生成缩略图、添加水印、截取图片等
- android为视频、音乐、图片等生成缩略图
- 图片操作:生成缩略图、添加水印、截取图片等
- php实现等比例生成图片缩略图不失真
- 生成缩略图
- 生成缩略图
- 生成缩略图
- 韩顺平java从入门到精通第59讲,建立数据库代码
- errors in crontab file,can't install
- 获取字符串的字符
- Log4j 使用介绍
- python科学计算numpy
- iOS 生成缩略图等
- 帆软报表FineReport SQLServer数据库连接失败常见解决方案
- php定时处理 php后台运行
- linux下修改环境变量问题
- 第一章——认识mybatis
- sql语句查询的例子
- php 把远程图片地址转换成本地址
- Thread和timer的应用区别
- No module named 'django.middleware.doc'