3

起始情况:

使用 povray 我创建了一个场景的 4 个部分图像。

povray +SR1 +ER200 +SC0 +EC200 +W400 +H400 +OPART1 povray.pov
povray +SR1 +ER200 +SC201 +EC400 +W400 +H400 +OPART11 povray.pov
povray +SR201 +ER400 +SC0 +EC200 +W400 +H400 +OPART2 povray.pov
povray +SR201 +ER400 +SC201 +EC400 +W400 +H400 +OPART22 povray.pov

要解决的问题:

  • 以编程方式合并 4 个图像。

需要考虑的事项:

  • 大多数部分图像不是有效图像,无法打开。例如,可以打开第一个部分图像,显示一个矩形,图像在左上角,其他一切都是黑色的。但其余图像仅包含有关他所在区域的信息。我们可以说这些图像被破坏了。
  • 输出格式使用 +F 设置,可以是 PPM、PNG、未压缩和压缩 Targa。一个有效的解决方案可以使用任何这些格式。
  • 专注于如何合并图像。您知道每个部分图像具有的矩形。

已经尝试过的事情:

  • http://povray.tashcorp.net/tutorials/qd_multicpu_render/中所述,将图像与 Tail 连接起来。仅当部分图像在宽度轴上完整时才有效,也就是说,如果 PART1 是一组线,PART2 是另一组线......并且没有列划分。但是我们有列划分。
  • 使用 ImageMagick。它无法打开部分图像。它说它们坏了。
4

1 回答 1

0

我发现这是如何实现的。

您需要修补 Povray 以便它保存有关 PNG 文件偏移量的信息。

这是补丁。 https://gist.github.com/721862

您需要下载 povray 的源代码并应用补丁。要应用补丁,请将补丁文件保存在 povray-3.6.1/source/patch.patch 中,然后:

cp patch.patch povray-3.6.1/source/
cd povray-3.6.1/source/
patch png_pov.cpp patch.patch
于 2010-11-30T15:55:50.650 回答