拍照图片上传竖立问题解决~
来源:互联网 发布:云墙 for mac 编辑:程序博客网 时间:2024/04/30 09:47
原文点这, 很详细, 这里只给代码
#import "UIImage+fixOrientation.h"@implementation UIImage (fixOrientation)- (UIImage *)fixOrientation { if (self.imageOrientation == UIImageOrientationUp) { // 这是正常的方向 return self; } CGAffineTransform transform = CGAffineTransformIdentity; switch (self.imageOrientation) { case UIImageOrientationDown: case UIImageOrientationDownMirrored: { transform = CGAffineTransformTranslate(transform, self.size.width, self.size.height); transform = CGAffineTransformRotate(transform, M_PI); } break; case UIImageOrientationLeft: case UIImageOrientationLeftMirrored: { transform = CGAffineTransformTranslate(transform, self.size.width, 0); transform = CGAffineTransformRotate(transform, M_PI_2); } break; case UIImageOrientationRight: case UIImageOrientationRightMirrored: { transform = CGAffineTransformTranslate(transform, 0, self.size.height); transform = CGAffineTransformRotate(transform, -M_PI_2); } break; case UIImageOrientationUp: case UIImageOrientationUpMirrored: break; default: break; } switch (self.imageOrientation) { case UIImageOrientationUpMirrored: case UIImageOrientationDownMirrored: { transform = CGAffineTransformTranslate(transform, self.size.width, 0); transform = CGAffineTransformScale(transform, -1, 1); } break; case UIImageOrientationLeftMirrored: case UIImageOrientationRightMirrored: { transform = CGAffineTransformTranslate(transform, self.size.height, 0); transform = CGAffineTransformScale(transform, -1, 1); } break; case UIImageOrientationUp: case UIImageOrientationDown: case UIImageOrientationLeft: case UIImageOrientationRight: break; default: break; } CGContextRef ctx = CGBitmapContextCreate(NULL, self.size.width, self.size.height, CGImageGetBitsPerComponent(self.CGImage), 0, CGImageGetColorSpace(self.CGImage), CGImageGetBitmapInfo(self.CGImage)); CGContextConcatCTM(ctx, transform); switch (self.imageOrientation) { case UIImageOrientationLeft: case UIImageOrientationLeftMirrored: case UIImageOrientationRight: case UIImageOrientationRightMirrored: { // Grr... CGContextDrawImage(ctx, CGRectMake(0, 0, self.size.height, self.size.width), self.CGImage); } break; default: { CGContextDrawImage(ctx, CGRectMake(0, 0, self.size.width, self.size.height), self.CGImage); } break; } // and now we just create a new image from the drawing context CGImageRef imgRef = CGBitmapContextCreateImage(ctx); UIImage *img = [UIImage imageWithCGImage:imgRef]; CGContextRelease(ctx); CGImageRelease(imgRef); return img;}@end
0 0
- 拍照图片上传竖立问题解决~
- 拍照上传图片
- 手机拍照上传图片问题
- 拍照上传图片的压缩
- H5拍照/图片上传js
- 踩坑:图片拍照上传等
- Android上传本地图片或者拍照上传
- Android 图片拍照上传、本地上传
- HTML上传本地图片or拍照上传
- Webview上传图片(图片/拍照)
- Android 拍照上传和拍照本地显示,拍照剪切上传,选取本地图片剪切上传
- 拍照上传图片与从相册中选择图片上传
- 拍照上传的图片被旋转问题
- monotouch拍照、选择图片上传实现
- Android拍照或本地图片上传
- Android设置拍照或者上传本地图片
- H5页面调用拍照上传图片
- 图片拍照上传和相册选取
- 公司 表名规则 TN基础表 TR关系表 TL定义表
- SOLR对多个(关联)表创建索引
- angular指令心得(ng-model)
- 安装oracle时,口令管理忘记解锁scott!
- ubuntu安装hadoop详细步骤
- 拍照图片上传竖立问题解决~
- URAL 1020 Rope 简单几何
- NDK基础知识
- ANSI C 库最常用的几个处理字符串的函数
- android studio 安装gitignore插件
- 我解决zypper无法安装mongodb的思路
- java中各种集合的用法和比较
- MySql数据库操作
- Android自定义状态栏颜色