首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图像旋转90度AVCam

图像旋转90度AVCam
EN

Stack Overflow用户
提问于 2012-09-20 20:07:37
回答 1查看 711关注 0票数 2

我在Stackoverflow中查看了大量的问题,但没有一个能解决我的问题。

因此,我使用的是苹果的AVCam示例:http://developer.apple.com/library/ios/#samplecode/AVCam/Introduction/Intro.html

因此,当我拍摄一张照片并将其保存在图像库中时,这是很好的,但是当我通过裁剪将其显示在屏幕上时,以及当我使用

代码语言:javascript
复制
NSData* pictureData = UIImageJPEGRepresentation(self.snappedPictureView.image, 0.9);

它会把它旋转90度!

下面是我裁剪它的代码:

代码语言:javascript
复制
UIImage* cropped = [image imageByCroppingRect:CGRectMake(0, 0, (image.size.width *             300)/self.view.frame.size.width, (image.size.height * 300)/self.view.frame.size.height)];


imageByCroppingRect is:
- (UIImage *) imageByCroppingRect:(CGRect)area
{
UIImage *croppedImage;
CGImageRef imageRef = CGImageCreateWithImageInRect([self CGImage], area);
// or use the UIImage wherever you like
croppedImage = [UIImage imageWithCGImage:imageRef]; 
CGImageRelease(imageRef);

return croppedImage;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-20 20:58:44

当您裁剪图像时,您将丢失与该图像相关联的元数据,从而告诉它旋转它的正确方式。

相反,您的代码应该保留图像的原始旋转,如下所示:

代码语言:javascript
复制
- (UIImage *) imageByCroppingRect:(CGRect)rect {

    CGImageRef imageRef = CGImageCreateWithImageInRect([self CGImage], rect);
    UIImage *result = [UIImage imageWithCGImage:imageRef scale:self.scale orientation:self.imageOrientation];
    CGImageRelease(imageRef);
    return result;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12512267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档