相关疑难解决方法(0)

iOS UIImagePickerController上传后的结果图像方向

我在iOS 3.1.3 iPhone上测试我的iPhone应用程序.我使用以下方法选择/捕获图像UIImagePickerController:

UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
[imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera];
[imagePicker setDelegate:self];
[self.navigationController presentModalViewController:imagePicker animated:YES];
[imagePicker release];



- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    self.image = [info objectForKey:UIImagePickerControllerOriginalImage];
    imageView.image = self.image;
    [self.navigationController dismissModalViewControllerAnimated:YES];
    submitButton.enabled = YES;
}
Run Code Online (Sandbox Code Playgroud)

然后我在某个时候使用ASI类将它发送到我的Web服务器:

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"http://example.com/myscript.php"]];
[request setDelegate:self];
[request setStringEncoding:NSUTF8StringEncoding];
[request setShouldContinueWhenAppEntersBackground:YES];
//other post keys/values
[request setFile:UIImageJPEGRepresentation(self.image, 100.0f) withFileName:[NSString stringWithFormat:@"%d.jpg", [[NSDate date] timeIntervalSinceNow]] andContentType:@"image/jpg" forKey:@"imageFile"];
[request startAsynchronous];
Run Code Online (Sandbox Code Playgroud)

问题:当我用iphone拍照同时保持它的风景时,图像会上传到服务器并按照你的预期进行查看.当拍摄手机拍照时,图像会被上传并在旋转90度时被观看.

我的应用程序设置为仅在纵向模式下工作(颠倒和常规).

如何在上传后使图像始终显示正确的方向?

UIImageView中显示的图像看起来是正确的(在拍照后直接显示),但在服务器上查看则另有说明.

iphone cocoa-touch uiimagepickercontroller uiimage ios

327
推荐指数
11
解决办法
13万
查看次数

如何将UIImage保存到文件?

如果我有一个UIImage来自imagePicker的,我如何将它保存到文档目录中的子文件夹?

iphone objective-c uiimage ios

107
推荐指数
7
解决办法
9万
查看次数

iOS:保存为PNG表示数据后,图像旋转90度

我已经研究了足够的工作,但无法修复它.只要我将图像存储为UIImage,从相机拍照后,它就可以了,但只要我将此图像存储为PNG表示,它就会旋转90度.

以下是我的代码和我尝试过的所有事情:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{
    NSString *mediaType = [info valueForKey:UIImagePickerControllerMediaType];

    if([mediaType isEqualToString:(NSString*)kUTTypeImage]) 
    {
        AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
        delegate.originalPhoto  = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
        NSLog(@"Saving photo");
        [self saveImage];
        NSLog(@"Fixing orientation");
        delegate.fixOrientationPhoto  = [self fixOrientation:[UIImage imageWithContentsOfFile:[delegate filePath:imageName]]];      
        NSLog(@"Scaling photo");
        delegate.scaledAndRotatedPhoto  =  [self scaleAndRotateImage:[UIImage imageWithContentsOfFile:[delegate filePath:imageName]]];
    }
    [picker dismissModalViewControllerAnimated:YES];
    [picker release];
}


- (void)saveImage
{
    AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
    NSData *imageData = UIImagePNGRepresentation(delegate.originalPhoto);
    [imageData writeToFile:[delegate filePath:imageName] atomically:YES];
}
Run Code Online (Sandbox Code Playgroud)

这里分别从这里这里取得fixOrientation和scaleAndRotateImage函数.当我在UIImage上应用它们时,它们工作正常并旋转图像,但如果我将图像保存为PNG表示并应用它们则不起作用.

请执行以上功能后请参考以下图片:

第一张照片是原始的,第二张是保存的,第三张和第四张是在保存的图像上应用fixorientation和scaleandrotate功能后

iphone image-rotation uiimage landscape-portrait ios5.1

38
推荐指数
4
解决办法
4万
查看次数

从核心数据加载的iPhone UIImage逆时针旋转90度.怎么修?

我正在使用AVCaptureSession从相机捕获图像:

- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection
Run Code Online (Sandbox Code Playgroud)

图像将转换为UIImage并添加到图像视图中.正如预期的那样,图像以纵向显示.

我正在尝试将图像保存到捕获会话之间的核心数据中.我的核心数据实体具有二进制数据类型的图像属性.

coreDataEntity.image = UIImagePNGRepresentation(imageView.image);
Run Code Online (Sandbox Code Playgroud)

用户重新加载以前保存的会话后,图像视图将使用以下方式恢复其图像:

 imageView.image = [UIImage imageWithData:coreDataEntity.image];
Run Code Online (Sandbox Code Playgroud)

但是,恢复的图像逆时针旋转90度,顶部指向左侧.

图像在哪个点旋转?是在保存期间还是从核心数据加载期间?

我有一种方法可以将UIImage旋转90度,但是在后续重新加载同一图像时,它会旋转90度.我怎么知道我已经旋转了一次UIImage?

感谢您的任何帮助!

iphone core-data objective-c uiimage ios

4
推荐指数
2
解决办法
1487
查看次数