iOS - 将图像以jpg格式保存

6
我的问题是,图像保存的格式是什么,是dat还是jpg。这是我使用的代码:
    NSString * urlImage = .....;
    NSString * _folderPath = .....;

    NSString * imageName = [[urlImage componentsSeparatedByString:@"/"] lastObject];
        NSString * jpegPath = [NSString stringWithFormat:@"%@%@",_folderPath,imageName];

        if (![[NSFileManager defaultManager] fileExistsAtPath:jpegPath])
        {
            NSURL *url = [NSURL URLWithString:urlImage];
            //Download image
            UIImage *image = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:url]];

            //Save image
            NSData *data = [NSData dataWithData:UIImageJPEGRepresentation(image, 1.0f)];//1.0f = 100% quality
            [data writeToFile:jpegPath atomically:YES];
        }
2个回答

4
以下是保存 .jpg 图像的代码片段。
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *docs = [paths objectAtIndex:0];
NSString* path =  [docs stringByAppendingFormat:@"/image1.jpg"];

NSData* imageData = [NSData dataWithData:UIImageJPEGRepresentation(imageView.image, 80)];
NSError *writeError = nil;
[imageData writeToFile:path options:NSDataWritingAtomic error:&writeError];

谢谢您的回答。有一个问题,文件是以 .dat 还是 .jpg 格式保存的?并且需要使用 NSData 进行检索吗? - Rodrigo
@RodDL - 获取文档目录中的图像,请参考以下链接:https://dev59.com/_Ww15IYBdhLWcg3wWqf- - iPatel
1
感谢您的帮助! - Rodrigo
我该如何在保存为JPG格式时改变照片的分辨率? - Radek Wilczak

0

你应该使用

stringByAppendingPathComponent 方法来创建或获取确切的有效路径

如下所示:

    NSString * jpegPath = [_folderPath stringByAppendingPathComponent:imageName];// [NSString stringWithFormat:@"%@%@",_folderPath,imageName];

谢谢,我修改了这一行! - Rodrigo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接