【问题标题】:Making Gradient Images Quickly with C++使用 C++ 快速制作渐变图像
【发布时间】:2011-09-02 02:21:20
【问题描述】:

我目前正在使用 Python 来创建渐变图像。但是,对于我的使用,我担心 Python 可能太慢了。我知道 Python 可以相对容易地用 C++ 进行扩展。

那么在 C++ 中生成渐变图像的快速方法有哪些?

【问题讨论】:

  • 你试过 Python 并且知道它太慢了,还是你只是猜测它太慢了?除了你在 Python 中进行的任何图像处理之外,无论如何都可能被 C 取代。
  • 是的,我确实是在 Python 中完成的(使用 Tkinter PhotoImage 类)。速度很快,但速度越快越好。
  • 尝试在 Python 中使用here 列出的脚本来创建 .png 文件。 .py 文件的嵌入式链接已失效,但我使用 WayBackMachine here 找到了它的最后一个版本。

标签: c++ python image gradient


【解决方案1】:

手动编写位图非常容易。对于 Windows 位图,您需要一个 54 字节的标题,然后是一个颜色值数组。 (.bmp file specs)

所以,创建一个文件,写入标题,提供像素数组。对于生成颜色值的渐变应该相当简单。

.pgm/.ppm 文件更容易,因为它们的标题更简单。

【讨论】:

  • 你也可以使用各种镜像库,比如DevIL,来编写镜像。最难的部分是填充数据,这只是一个梯度公式(通常是 lerp)。
  • @Benjamin 虽然粗略的概述可能不是我们想要的,但仅仅询问(或提供)细节会更有建设性。
  • @sheepez:你是对的。我撤回了我的评论,这是不恰当的。但你的答案可能会使用更多细节。
  • @Benjamin 这是一个公平的批评,我确实急于回答。如果我有时间我会添加一些代码,.bmp 的东西可能需要一点时间来理解,但 .ppm 的东西是相当不言自明的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多