【问题标题】:Base64 Svg to UIImage return nilBase64 Svg 到 UIImage 返回 nil
【发布时间】:2022-01-14 02:59:29
【问题描述】:

我正在尝试转换Base64 Svg to UIImage,但我得到了nil

本站一切正常https://codebeautify.org/base64-to-image-converter

我在本地方法上尝试了不同的框架,但都无济于事 我用:

  1. let dataDecoded : Data = Data(base64Encoded: base64Str, options: .ignoreUnknownCharacters)!
    polygonImage.image = UIImage(data: dataDecoded)!
    
2) ```
   if let url = URL(string: base64StrUrl) {
      if let data = try? Data(contentsOf: url) {
         polygonImage.image = UIImage(data: data)
      }
   }
  1. let anSVGImage: SVGKImage = SVGKImage(data: data)
    self.polygonImage.image = anSVGImage
    
    

有问题的 base64:

data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGhlaWdodD0nMTAwJyB3aWR0aD0nMTAwJyB2aWV3Qm94PSc5MC42NDM5NTE0MTYwMTU2MiAxNTIuMDAzOTg4NjQ3NDYwOTQgMC4wMTE2NDI0NTYwNTQ2ODc1IDAuMDExMzg2MTA4Mzk4NDM3NScgc3R5bGU9J3RyYW5zZm9ybTogc2NhbGVYKC0xKSByb3RhdGUoOTBkZWcpJz48ZyBmaWxsPSdub25lJz48cG9seWdvbiBwb2ludHM9JzkwLjY0Nzc1MDg1NDQ5MjE5LDE1Mi4wMDU2MTUyMzQzNzUgOTAuNjQ1NjE0NjI0MDIzNDQsMTUyLjAwODg5NTg3NDAyMzQ0IDkwLjY0NjYyMTcwNDEwMTU2LDE1Mi4wMTI5Njk5NzA3MDMxMiA5MC42NTI3ODYyNTQ4ODI4MSwxNTIuMDEzNzQ4MTY4OTQ1MyA5MC42NTM5MzA2NjQwNjI1LDE1Mi4wMDY2Mzc1NzMyNDIyICcgc3R5bGU9J2ZpbGw6I0ZGN0EwMDsgZmlsbC1vcGFjaXR5OjAuMjU7IHN0cm9rZTogI0ZGN0EwMDsnIHN0cm9rZS13aWR0aD0nMC4wMDAyMzI4NDkxMjEwOTM3NScgLz48L2c+PC9zdmc+

【问题讨论】:

  • 从字符串中删除data:image/svg+xml;base64,SVGKImage 不会是零,但它不会渲染,我不知道为什么。修改可能是 svg,可能有一些东西解析不正确。

标签: swift svg uiimage


【解决方案1】:

我很确定这不是一个有效的 base64 字符串。 您提供的链接使用了一些图像处理技术来生成图像,但在 swift 中您必须提供有效的 base64 字符串,如果您从同一网站下载图像,则无法打开该图像。

您可以在 https://base64.guru/tools/validator 上验证您的 base64 字符串

如果你想将此base64转换为图像

  1. 将你的base64字符串粘贴到this website并下载.svg文件(因为你不能直接从base64获取图像文件)
  2. 使用https://svgtopng.com 将您的.svg 文件转换为.png 或.jpg
  3. 使用https://www.base64encoder.io/image-to-base64-converter/将.png或.jpg文件转换为base64字符串

然后使用那个base64字符串你肯定会得到图像。

【讨论】:

  • 如果它对您有帮助,请为我的答案投票,并通过给予“绿权”将其添加到正确答案中。
猜你喜欢
  • 2015-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-06
  • 2016-07-21
  • 1970-01-01
  • 2015-03-23
相关资源
最近更新 更多