Swift 如何从图片数据(Data)检测原图片类型?

Swift 如何从图片数据(Data)检测原图片类型?_第1张图片

功能需求

如果我们之前把图片对应的数据(Data)保持在内存或数据库中,那么怎么从 Data 对象检测出原来图片的类型呢?

如上图所示:我们将 11 张不同类型的图片转换为 Data 数据,然后从 Data 对象正确检测出了原图片类型。

目前,我们的代码可以检测出 jpeg(jpg), tiff, bmp, ico, icns, gif, png, webp, svg 等 9 种图片格式。

这是如何实现的呢?

其实,超乎寻常的简单!

Let‘s dive in!


功能分析

1. 从图片转 Data 谈起

图片的表示分以下 2 种情况:

  • UIImage(或CGImage)对象
  • 图片文件的路径

对于一般的 UIImage 对象,我们可以调用其对应的 pngData() 或 jpegData() 方法来将图片转换为数据。不过要注意的是,它们都是耗时方法,尽量放在后台执行:

你可能感兴趣的:(开发疑难秒懂百科,swift,图片,检测图片类型,检测图片格式,Data,SVG,UIImage)