如何在iPad中转换图像格式

时间:2014-11-04 07:59:40

标签: ios objective-c iphone uiimagepickercontroller nsdata

我正致力于普遍应用。在iPhone上一切正常,但在iPad上进行相同功能测试时,我的应用程序崩溃了。当我从相机捕获图像时,我将该图像转换为jpeg格式,这是我将图像转换为jpeg格式的代码:

NSData *imageData = UIImageJPEGRepresentation(image,0.7);//0.7
[imageData writeToFile:@"Select.jpeg" atomically:YES];

图片是UIImage。在iPhone上它的工作正常,但是在iPad上它崩溃的第二行和崩溃报告是终止应用程序由于未捕获的异常' NSInvalidArgumentException',原因:' *** - [NSFileManager fileSystemRepresentationWithPath:]:nil或空路论点'。  我在谷歌搜索它但没有得到任何解决方案或想法。

2 个答案:

答案 0 :(得分:1)

您的文件名是Select.jpeg,该名称已存在于该位置。

每次都必须使用不同的名称保存图像。

为了获得最佳实践,请尝试使用当前时间提供图像名称。

答案 1 :(得分:0)

尝试下面的代码,它的工作对我来说

NSString *strImageName = @"select.jpg";
    NSString *imagePath = [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:[NSString stringWithFormat:@"/%@",strImageName]];

    NSFileManager *fileManager = [NSFileManager defaultManager];
    BOOL fileExists = [fileManager fileExistsAtPath:imagePath];

    if(fileExists)
    {
        BOOL remove = [fileManager removeItemAtPath:imagePath error:nil];
        if(remove)
        {
            NSLog(@"File removed...");
        }
    }
    NSData *imageData = UIImageJPEGRepresentation(imgPreview, 0.7);
    [imageData writeToFile:imagePath atomically:YES];