为什么使用UIImageJPEGRepresentation方法通过writetofile保存的.jpeg文件比ios中



我正在尝试将UIImage对象保存到设备中的.jpeg文件中我使用的是这个代码:

-(void)saveImageToDocumentsDirectory:(UIImage *)mimage withFileName:(NSString *)fileName 
{
    UIImageWriteToSavedPhotosAlbum(mimage,nil,nil,nil);
    NSData *dataForJPEGFile = UIImageJPEGRepresentation(mimage, 1.0);
    NSError *error2 = nil;
    if (![dataForJPEGFile writeToFile:[self getDirectoryFilePath:fileName] options:NSAtomicWrite error:&error2])
    {
        return;
    }
}

它将保存.jpeg类型的图像,但与UIImageWriteToSavedPhotosAlbum(mimage,nil,nil,nil)方法相比,它占用了太多内存,后者以.jpeg类型和相同质量保存相同的图像对象。

我的问题是为什么。。??

您将质量设置为非常高(1.0),我想0.6或0.7对于我在某处阅读的jpeg文件来说已经足够了。

NSData *dataForJPEGFile = UIImageJPEGRepresentation(mimage, 0.65);

也许你可以根据你的应用程序使用情况找到合适的质量,对我来说,有时0.5就足够了。

相关内容

  • 没有找到相关文章

最新更新