【问题标题】:C++ runtime convert gif to pngC++ 运行时将 gif 转换为 png
【发布时间】:2013-04-16 20:32:52
【问题描述】:

虽然我发现了很多关于将 PNG 转换为各种语言和平台的 GIF,但有趣的是,使用 C++ 将 GIF 转换为 PNG 的东西很少。我正在使用mimeTeX 渲染GIF 图像,并希望使用libharu 将它们绘制到我的PDF 中。问题是 mimeTeX 不能渲染 PNG,libharu 也不能绘制 GIF。我对这两种格式的了解非常有限(只是我从官方 PNG 网站和维基百科阅读的一些基本内容),因此无法将 GIF 转换为 PNG。很抱歉,我无法向您展示我的尝试,因为我找不到起点。另请注意,所有图像都将在运行时创建。我可以使用任何适用于 Windows 7 的库;而且由于我的代码已经过于复杂,我真的不想让它变得更复杂。如果这项特定工作存在一个简单的技巧,我们将不胜感激。谢谢。

【问题讨论】:

  • 您可以通过转换为“原始数据”作为中间步骤来分解问题。这两种图像格式都传达了一个heightwidth和一个颜色集合,每个像素一个。几乎所有的图像转换器都支持某种“原始数据”表示。你试过吗?

标签: c++ png gif


【解决方案1】:

ImageMagick 是要走的路;甚至还有一个 C++ 库:http://www.imagemagick.org/script/magick++.php

【讨论】:

  • 首先谢谢你,现在我正在使用Imagemagick(特别是使用转换程序);但问题是,当我将 GIF 转换为 PNG 时,libharu 有时无法绘制这些图像,有时会出现“绘制错误”(我不知道为什么会发生),有时图像看起来非常难看,看起来像混乱。你知道为什么会发生这些事情吗?
  • @Equalitiesofpolynomials 如果您在任何其他查看器中加载 PNG,它们看起来还可以吗?如果不是,原始 GIF 可以吗?
  • 我实际上在不久前解决了问题。当我转换图像时,我写了:“convert image.gif image.png”,但这解决了我的问题:“convert image.gif PNG8:image.png”
  • @Equalitiesofpolynomials 啊,您需要将其保留为 8 位图像。很高兴听到你让它工作。也许您的显示代码要求它保留为 8 位数据?
  • 是的,显然我的显示代码需要 8 位数据,它现在对我有用。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2021-02-01
  • 2012-01-25
  • 2011-06-21
  • 1970-01-01
  • 2023-03-23
  • 2012-09-15
  • 2013-06-05
  • 1970-01-01
相关资源
最近更新 更多