在 PhotoKit 中,修改 PHAsset 会留下原始的。如何?可覆盖?

Posted

技术标签:

【中文标题】在 PhotoKit 中,修改 PHAsset 会留下原始的。如何?可覆盖?【英文标题】:In PhotoKit, modifying PHAsset leaves original around. How? Overridable? 【发布时间】:2014-10-14 21:16:58 【问题描述】:

似乎对特定PHAsset照片的修改以某种方式保留了原始版本,以便能够做到这一点:

    这是否记录在某个地方(从编程的角度)? 可以覆盖原始资产吗?

【问题讨论】:

您到底为什么要修改原件?我就是看不到案子。我很高兴有这个功能。 我很高兴该功能也存在,但它也占用了更多内存。如果你想要更多的内存,并且愿意放弃原件,那将是一件好事。 【参考方案1】:

PHImageManager: requestImageForAsset:reference documentation 提供了这里发生的一些细节。

您似乎永远无法覆盖原始图像数据(资产在技术上只是元数据),因为您可以为包含versionPHImageRequestOptionsVersionOriginal 的图像请求指定PHImageRequestOptions。来自PHImageRequestOptionsdocumentation:

请求图片资源的原始、最高保真版本。

无论进行任何编辑,生成的图像都是最初捕获或导入的资产版本。

【讨论】:

以上是关于在 PhotoKit 中,修改 PHAsset 会留下原始的。如何?可覆盖?的主要内容,如果未能解决你的问题,请参考以下文章

iOS PhotoKit框架 详解

iOS Photokit - PHAsset pixelWidth 和 pixelHeight 与高分辨率图像不匹配

iOS PhotoKit 教程

iOS PhotoKit 教程

使用 UIActivityViewController 共享存储在相机胶卷中的 PHAsset

如何解决 PhotoKit 错误“原始资源选择仅对未调整的基础版本有效”?