【问题标题】:Little endian bitmaps & "Unable to create GMSGLImageTile due to bad graphics data"小端位图和“由于图形数据错误,无法创建 GMSGLImageTile”
【发布时间】:2015-10-19 03:21:25
【问题描述】:

我不确定到底发生了什么,但我正在尝试在 Google 地图上渲染雷达图块并收到以下消息:

  • ((null)) 为假:由于图形数据错误,无法创建 GMSGLImageTile
  • ((null)) 为假:不支持小端位图

有没有一种简单的方法可以将UIImage 转换为大端,或者我需要了解有关使用/子类化GMSSyncTileLayer 的一些知识吗?

我尝试渲染为图块的图像是 png 图像。

【问题讨论】:

    标签: ios google-maps google-maps-sdk-ios


    【解决方案1】:

    如果您的图块的 PNG 图像未设置为 8 位颜色深度,则会出现该错误。

    将图像的颜色深度更改为 8 位应该可以解决问题。

    【讨论】:

      【解决方案2】:

      如果只是大小端问题,是的。您是通过 NSDate 获得位图还是可以创建一个?如果是这样,请将其转换为字节数组,然后交换位。

      *已编辑

      我和其他人在这里给出了一些答案: https://stackoverflow.com/a/33051250/1900120

      【讨论】:

      • 我尝试编写一个可以交换这些位的方法,但图像真的被破坏了。弄清楚发生了什么需要很长时间,所以我们最终使用了一个不同的实现来提供 8 位图像。不过感谢您的帮助!
      • 不客气,布赖恩。我对你的实现很好奇~它是专门为转换底层位而设计的数据结构和算法吗?如果您不介意,请给我一个提示,因为这些信息将来可能会对我们很多人有所帮助。
      【解决方案3】:
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-06
      • 2011-11-30
      • 1970-01-01
      • 2019-06-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多