iOS 将图片等比例缩放
2015-11-30 11:49
465 查看
iOS 将图片等比例缩放
代码如下:
- (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;
}
代码如下:
- (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]SMS获取&验证手机验证码
- iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例)
- iOS开发之数据传递(一)
- ios审核加急,怎么快速上架
- iOS开发免费API接口
- iOS图片编辑(CIFilter)
- ios 开发日记 23 - Reveal使用步骤
- iOS URL Scheme 使用详解
- Nagios监控ActiveMQ插件开发和部署注意事项
- iOS获取设备型号、设备类型等信息
- iOS开发 底层抛析运行循环—— RunLoop
- iOS平台Cordova插件的开发方法
- 如何使用AdMob中介界面?
- IOS 开发 【os x 使用常识】
- 芒果iOS开发之iOS9TableView分割线默认不显示,只有滑动的时候才显示
- ios配置文件的坑儿
- iOS 清除缓存
- 使用Homebrew编译iOS linphone SDK
- iOS 导出 ipa 包时 三个选项的意义
- iOS 开发怎么入门?