不幸的是,Apple 的 ImageIO 框架不支持 DNG 作为输出格式。有关支持的输出类型的列表,请参阅 CGImageDestinationCopyTypeIdentifiers() 的输出:
(
"public.jpeg",
"public.png",
"com.compuserve.gif",
"public.tiff",
"public.jpeg-2000",
"com.microsoft.ico",
"com.microsoft.bmp",
"com.apple.icns",
"com.adobe.photoshop-image",
"com.adobe.pdf",
"com.truevision.tga-image",
"com.sgi.sgi-image",
"com.ilm.openexr-image",
"public.pbm",
"public.pvr",
"org.khronos.astc",
"org.khronos.ktx",
"com.microsoft.dds",
"com.apple.rjpeg"
)
Run Code Online (Sandbox Code Playgroud)
RAW 文件是直接来自相机传感器的“原始”输出,因此获取它的唯一方法是直接从相机获取。处理完 RAW 文件后,根据定义,您所拥有的不再是“原始”文件,因此您无法返回 RAW。
扩展在 WWDC 上提出的比喻,他们在那里介绍了 RAW 摄影……RAW 文件就像蛋糕的原料。当您使用 Core Image 从 RAW 文件创建可视图像时,您就是在烤蛋糕。(如前所述,有许多不同的方法可以用相同的原料烘焙蛋糕,这与处理 RAW 的可能选项相对应。)但是你不能不烤蛋糕——没有回到原始原料的地步,更不用说一种以某种方式保留处理结果的方式。
因此,存储从 RAW 原件处理的图像的唯一方法是将处理后的图像保存为位图图像格式。(如果您不介意有损压缩,请使用 JPEG,如果您需要无损压缩,请使用 PNG 或 TIFF 等)
如果您将编辑结果写入PHPhotoLibrary
,请使用 JPEG(如果您愿意,可以使用高质量 / 压缩率较低),照片会将您的编辑存储为派生结果,允许用户恢复为 RAW 原始文件。您还可以描述您在PHAdjustmentData
编辑中保存的应用过滤器集- 使用调整数据,您的应用程序的另一个实例(或照片应用程序扩展程序)可以使用原始 RAW 数据加上您保存的过滤器设置重建编辑,然后允许用户更改过滤器参数以创建不同的处理图像。
注意:有一个名为Linear DNG的 DNG 格式版本支持非 RAW(或“不太 RAW”)图像,但在实践中很少见,Apple 的图像堆栈不支持它。
归档时间: |
|
查看次数: |
2548 次 |
最近记录: |