gpt4 book ai didi

ios - 如何将高清图像从 alasset 保存到 ios 中的文档文件夹

转载 作者:行者123 更新时间:2023-11-29 12:49:48 26 4
gpt4 key购买 nike

尝试将超高清图像保存在图库中的文档目录中。由于内存压力,我的应用程序崩溃了。如何在不进入uiimage的情况下,直接从alaset中保存图片到documents文件夹。

最佳答案

如果你的内存力有问题,我建议你阅读这篇 How can I release memory of UIImages no longer used首先。

如果您决定仍然需要在不使用 UIImage 的情况下进行复制,您可以尝试以下操作

ALAsset *result; // do not forget to initialize it
ALAssetRepresentation *rawImage = [result defaultRepresentation];

uint8_t *buffer = malloc( rawImage.size );
[rawImage getBytes:buffer fromOffset:0 length:rawImage.size error:NULL];
NSData *d = [NSData dataWithBytes:buffer length:rawImage.size];
[d writeToFile:@"your_file_path_here" atomically:YES];
free(buffer);

更新:

下面的代码可能会更高效

long long sizeOfRawDataInBytes = rawImage.size;
NSMutableData* rawData = [[NSMutableData alloc]initWithCapacity:sizeOfRawDataInBytes];
void* bufferPointer = [rawData mutableBytes];
NSError* error=nil;
[rawImage getBytes:bufferPointer fromOffset:0 length:sizeOfRawDataInBytes error:&error];
if (error) {
NSLog(@"Getting bytes failed with error: %@",error);
}
else {
[rawData writeToFile: @"your_file_path_here" atomically:YES];
}

关于ios - 如何将高清图像从 alasset 保存到 ios 中的文档文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22680296/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com