swift - UIImage 生成的 base64 大于它引用的(本地)base64 图像
问题描述
我正在通过用户的相机(使用名为 CameraManager 的库)捕获图像。捕获的图像保存到文件磁盘(仅用于测试目的),并生成一个 UIImage,然后通过以下方式将其转换为 base64 字符串:
cameraManager.capturePictureWithCompletion({ (image, error) -> Void in
let UIImage = UIImageJPEGRepresentation(image!, 0.85)!
let base64Image = UIImage.base64EncodedString(options: .lineLength64Characters)
...
现在,当我通过图像选择器插件选择相同的图像(已保存到磁盘)时,我返回了一个 base64 字符串(相同的图像),它比原始捕获的图像小 2.5 倍多一点它代表。
什么可能导致额外的开销?它可能是嵌入在 UIImage 中的东西吗?我的另一个想法是将 UIImage 保存到临时文件夹,将 URI 传递给客户端,然后让客户端担心将其转换为 base64 字符串以查看它是否会使字符串更小。
解决方案
推荐阅读
- python - 检查图像文件是否是python中的有效SVG文件
- c++ - 跟踪 z3::optimize unsat_core
- javascript - JavaScript 导入模块中的跨域
- javascript - 承诺和 jquery 验证不起作用
- javascript - 如何使用 slice() 方法拆分数组?
- html - 我正在尝试将每个网格单元格中的文本居中
- vim - 从 SSH 会话到远程机器,如何在本地机器上的 Vim 会话中打开文件
- android - 如何修复约束布局不起作用
- python - python dataframe - 遍历数据帧以查找未来日期,考虑以前的迭代
- regex - 在 SPARQL 中使用正则表达式绑定变量?