拍照图片方向
来源:互联网 发布:淘宝产品文案怎么写 编辑:程序博客网 时间:2024/06/11 18:36
当你用iPhone手机去拍照完成之后把图片放到UIImageView.image
的时候发现图片的方向不对了。
这个时候可以实用以下方法去解决。(好像从相册里选择时候没有问题)。
- (UIImage *)fixOrientation:(UIImage *)aImage { if (aImage.imageOrientation == UIImageOrientationUp) return aImage; CGAffineTransform transform = CGAffineTransformIdentity; switch (aImage.imageOrientation) { case UIImageOrientationDown: case UIImageOrientationDownMirrored: transform = CGAffineTransformTranslate(transform, aImage.size.width, aImage.size.height); transform = CGAffineTransformRotate(transform, M_PI); break; case UIImageOrientationLeft: case UIImageOrientationLeftMirrored: transform = CGAffineTransformTranslate(transform, aImage.size.width, 0); transform = CGAffineTransformRotate(transform, M_PI_2); break; case UIImageOrientationRight: case UIImageOrientationRightMirrored: transform = CGAffineTransformTranslate(transform, 0, aImage.size.height); transform = CGAffineTransformRotate(transform, -M_PI_2); break; default: break; } switch (aImage.imageOrientation) { case UIImageOrientationUpMirrored: case UIImageOrientationDownMirrored: transform = CGAffineTransformTranslate(transform, aImage.size.width, 0); transform = CGAffineTransformScale(transform, -1, 1); break; case UIImageOrientationLeftMirrored: case UIImageOrientationRightMirrored: transform = CGAffineTransformTranslate(transform, aImage.size.height, 0); transform = CGAffineTransformScale(transform, -1, 1); break; default: break; } // Now we draw the underlying CGImage into a new context, applying the transform // calculated above. CGContextRef ctx = CGBitmapContextCreate(NULL, aImage.size.width, aImage.size.height, CGImageGetBitsPerComponent(aImage.CGImage), 0, CGImageGetColorSpace(aImage.CGImage), CGImageGetBitmapInfo(aImage.CGImage)); CGContextConcatCTM(ctx, transform); switch (aImage.imageOrientation) { case UIImageOrientationLeft: case UIImageOrientationLeftMirrored: case UIImageOrientationRight: case UIImageOrientationRightMirrored: // Grr... CGContextDrawImage(ctx, CGRectMake(0,0,aImage.size.height,aImage.size.width), aImage.CGImage); break; default: CGContextDrawImage(ctx, CGRectMake(0,0,aImage.size.width,aImage.size.height), aImage.CGImage); break; } // And now we just create a new UIImage from the drawing context CGImageRef cgimg = CGBitmapContextCreateImage(ctx); UIImage *img = [UIImage imageWithCGImage:cgimg]; CGContextRelease(ctx); CGImageRelease(cgimg); return img;}
1 0
- 拍照图片方向
- android 拍照的照片方向问题,读取图片EXIF信息
- 调用系统拍照获取的图片方向问题解决方法
- Android多媒体技术(一)Camera实时视频采集预览、拍照、JPEG图片方向的处理
- Android多媒体技术(一)Camera实时视频采集预览、拍照、JPEG图片方向的处理
- 拍照图片滤镜sample
- android 拍照剪切图片
- 拍照和图片旋转
- 拍照和图片旋转
- android拍照获取图片
- 拍照,图片旋转
- 拍照图片旋转问题
- 拍照后旋转图片
- android 拍照 图片剪切
- 直接拍照生成图片
- 拍照及图片显示
- 拍照上传图片
- Android拍照和从相册获取图片(解决android7.0打开相机崩溃的问题),同时也解决了拍完照后图片方向不正的问题
- 杭电ACM 第106题 Tick and Tick
- 酷派手机 在eclipse调试Android程序时无法输出调试信息
- IOS 高德地图导航
- MulLine.js 使用说明
- Java开发中的‘暗坑’
- 拍照图片方向
- 聊一聊ThreadLocal
- 仿照微信的效果,实现了一个支持多选、选原图和视频的图片选择器
- 排序------快速,插入,选择,冒泡
- linux stat函数使用
- 欢迎使用CSDN-markdown编辑器
- ProgressDialog的setCancelable()相关,
- windows系统出现2个相同的盘符
- GitHub上排名前10的Objective-C 项目及其常用方法