我需要实现gif从bmp到动画阿贝尔砂桩模型仅使用c++标准库。
发布于 2022-10-15 19:05:04
理想情况下,您的起点应该是GIF和BMP的规范。
GIF规范是一个很容易找到的东西。
不幸的是,(至少据我所知)微软从未将有关BMP格式的所有信息作为规范引入到单个文档中。在不同的地方都有很多文档,但是没有一个地方把所有文档都放在一起,并且组织得井井有条(至少我知道)。
这意味着你被一种零敲碎打的方法困住了。幸运的是,你可能不需要阅读所有可能的合法BMP文件--它已经存在很长时间了,所以有很多不同的版本,其中很多很少被使用(例如,16色位图)。
根据猜测,您可能只需要处理一个或两个特定的变体(例如,每像素24或32位),这将大大简化生活。这里有一个页面,它至少给出了关于BMP文件如何格式化的文档的起点。
不过,您可能至少需要考虑一些辅助问题。除非您的输入BMP文件使用带有调色板的每个像素8位来定义与这255个值相关联的颜色,否则您可能至少会遇到另一个问题:您很可能会从一个有很多颜色的文件开始(例如,如上所述,每个像素24或32位),但是对于GIF文件,您需要将其减少到每个像素仅8位,所以您需要选择255种颜色,它们最能代表您所关心的图片中的那些颜色,然后为每个输入像素选择一种颜色来尽可能地表示该像素。
根据您对颜色保真度和空间分辨率的关心程度,有很多种方法可以完成这项工作,从相当简单(但结果可能相当平庸)到非常复杂(结果可能会稍微好一些,但可能仍然会相当平庸)。
https://stackoverflow.com/questions/74082122
复制相似问题