2011-09-02 28 views
-1

我目前正在使用Python创建渐变图像。但是,对于我的用途,恐怕Python可能会太慢。我知道Python可以用C++进行相对简单的扩展。使用C++快速制作渐变图像

那么什么是一些快速的方法来产生梯度图像的C + +?

+0

你有没有试过Python,知道它太慢,或者你只是猜测它太慢?除了任何你在Python中执行的图像操作,无论如何都可能被C语言所控制。 –

+0

是的,我确实在Python中做过(使用Tkinter PhotoImage类)。速度很快,但速度总是很快。 – rectangletangle

+0

尝试在Python中使用列出的脚本[这里](http://jtauber.com/blog/2008/05/18/creating_gradients_programmatically_in_python/)创建.png文件。 .py文件的嵌入式链接已经失效,但我使用WayBackMachine [here](http://web.archive.org/web/20100612051705/http://jtauber.com/blog/)找到了它的最新版本。 2008/05/18/creating_gradients_programmatically_in_python /)。 – martineau

回答

2

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

所以,创建一个文件,写头,提供像素数组。对于生成颜色值的梯度应该非常简单。

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

+0

您也可以使用各种图像库(如DevIL)来编写图像。最难的部分是填写数据,这只是一个渐变公式(通常是lerp)。 – ssube

+0

@Benjamin虽然粗略的概述可能并不完全是想要的,但只是要求(或提供)细节会更有建设性。 – sheepez

+0

@sheepez:你说得对。我收回了我的评论,这是不恰当的。但是你的答案可以使用更多的细节。 –