IOS平台生成图片缩略图的两种方案
来源:互联网 发布:大学生书籍推荐知乎 编辑:程序博客网 时间:2024/05/17 02:23
IOS平台生成图片缩略图的两种方案
只写出关键部分,其它部分自己添加既可
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;
}
- IOS平台生成图片缩略图的两种方案
- IOS平台生成图片缩略图的两种方案
- IOS平台生成图片缩略图的两种方案
- IOS平台生成图片缩略图的两种方案
- IOS平台生成图片缩略图的两种方案
- ios 生成图片缩略图
- ios 生成图片缩略图
- java 图片缩略图的两种方法
- java 图片缩略图的两种方法
- 生成图片的缩略图
- iOS 开发 图片缩略图的生成,展示图片中间一部分
- iOS 开发 图片缩略图的生成,展示图片中间一部分
- iOS 开发 图片缩略图的生成,展示图片中间一部分
- 如何生成图片的缩略图
- Java:生成图片的缩略图
- 安卓获取图片缩略图的两种方式
- 安卓获取图片缩略图的两种方式
- iOS截取视频缩略图的两种方法
- Python基础:05集合类型
- 河南治自闭症哪家yiyuan好
- 《命令行中的数据科学》
- 河南治自闭症哪家好
- C++静态成员函数小结
- IOS平台生成图片缩略图的两种方案
- javascript 的 ==与===的意义
- Bootstrap扁平化设计的网站后台管理系统源代码下载
- recv函数返回值说明
- u-boot关于启动流程
- no servers hosting shard
- arm-linux内核启动学习笔记(二)
- java线程同步原理及wait,notify的用法及与sleep的区别
- Java设计模式——工厂模式