iosUIImage图片反响旋转(内存消耗超大基本应用不到项目中,有大神能解决求告知)
2013-12-05 13:45
441 查看
warning 图片旋转的时候,特别的消耗内存
- (UIImage )image:(UIImage )image rotation:(UIImageOrientation)orientation{
long double rotate = 0.0;
CGRect rect;
float translateX = 0;
float translateY = 0;
float scaleX = 1.0;
float scaleY = 1.0;
switch (orientation) {
case UIImageOrientationLeft:
rotate = M_PI_2;
rect = CGRectMake(0, 0, image.size.height, image.size.width);
translateX = 0;
translateY = -rect.size.width;
scaleY = rect.size.width/rect.size.height;
scaleX = rect.size.height/rect.size.width;
break;
case UIImageOrientationRight:
rotate = 3 M_PI_2;
rect = CGRectMake(0, 0, image.size.height, image.size.width);
translateX = -rect.size.height;
translateY = 0;
scaleY = rect.size.width/rect.size.height;
scaleX = rect.size.height/rect.size.width;
break;
case UIImageOrientationDown:
rotate = M_PI;
rect = CGRectMake(0, 0, image.size.width, image.size.height);
translateX = -rect.size.width;
translateY = -rect.size.height;
break;
default:
rotate = 0.0;
rect = CGRectMake(0, 0, image.size.width, image.size.height);
translateX = 0;
translateY = 0;
break;
}
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
//做CTM变换
CGContextTranslateCTM(context, 0.0, rect.size.height);
CGContextScaleCTM(context, 1.0, -1.0);
CGContextRotateCTM(context, rotate);
CGContextTranslateCTM(context, translateX, translateY);
CGContextScaleCTM(context, scaleX, scaleY);
//绘制图片
CGContextDrawImage(context, CGRectMake(0, 0, rect.size.width, rect.size.height), image.CGImage);
UIImage newPic = UIGraphicsGetImageFromCurrentImageContext();
return newPic;
}
相关文章推荐
- IOS应用开发-图片处理(拉伸图片 创建缩略图 解决图片旋转的问题 图片编码及上传 将图片写入磁盘)
- iOS开发 UIimage旋转,得到旋转后的Image图片,解决imageView旋转,内部图片不跟着旋转问题
- IOS应用开发-图片处理(拉伸图片 创建缩略图 解决图片旋转的问题 图片编码及上传 将图片写入磁盘)
- flash ios 加载图片序列内存过大的解决方法
- 前端解决ios手机竖拍上传图片旋转90° 完美适配:Android/ios/Windows
- ios UIImageView添加图片动画效果,添加了手势之后,依然没有反应的解决方法
- iOS 同一页面加载上百张图片,迅速滑动时导致内存暴涨程序崩溃的参考解决方法
- iOS拍照之后图片自动旋转90度解决办法
- ios屏幕旋转 项目中应用
- iOS开发- 相机(摄像头)获取到的图片自动旋转90度解决办法
- ios UIImage修改大小后图片模糊解决办法
- iOS开发- 相机(摄像头)获取到的图片自动旋转90度解决办法
- iOS保存系统相册中的照片到应用沙盒中出现的问题--图片旋转90度,使用CGImageRelease造成应用崩溃
- iOS开发- 相机(摄像头)获取到的图片自动旋转90度解决办法
- iOS 实时获取当前应用消耗的CPU和内存
- iOS开发- 相机(摄像头)获取到的图片自动旋转90度解决办法
- iOS系统上传图片,图片旋转解决方法:
- 解决UIImage图片上传旋转
- 解决ios上传的图片旋转问题
- iOS开发- 相机(摄像头)获取到的图片自动旋转90度解决办法