首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据Povray中的图像宽度计算图像高度?

根据Povray中的图像宽度计算图像高度?
EN

Stack Overflow用户
提问于 2021-03-07 16:06:01
回答 2查看 137关注 0票数 2

要呈现1000 an宽和1500 an高的图像,我必须从命令行传递两个变量:

povray scene.pov Width=1000 Height=1500 (或povray scene.pov +W1000 +H1500)

只写一篇

povray scene.pov Width=1000 (或povray scene.pov +W1000)

并根据脚本中的宽度计算高度。

人们可能会认为,解决方案应该如下所示:#declare Height = 1.5 * Width;

但这行不通。(Povray不知道变量Width。)

并且在脚本中定义WidthHeight不会改变输出大小。(或者其他任何事情)

(使用image_widthimage_height会做其他糟糕的事情,但也不会改变呈现大小。)

在脚本中有什么方法可以从命令行实现什么呢?

(这里的要点是,我希望避免将特定场景的正确大小添加到控制台命令的额外步骤。我还必须复制到控制台的任何其他东西都不能解决这个最初的问题。必须复制正确的大小或正确的因子基本上是相同的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-03-23 17:30:49

您可以从脚本内部读取输出宽度和高度的设置值:这些值位于预置变量image_widthimage_height中。博士:https://www.povray.org/documentation/view/3.6.1/228/

不幸的是,没有办法从脚本中设置它们中的任何一个--您只需检查它们的值,并使用它们来设置摄像机参数(例如,获得最终图像的正确的纵横比)。

另外,检查相关问题:POV-Ray: Setting output resolution or width/heigh ratio within the script \

(当它询问高宽比时,这个不是重复的)。

尽管如此,唯一的出路似乎是将对povray的调用封装在另一个脚本中,该脚本将为您计算参数。工匠的回答有很多种使用Bash的方法。一个更复杂的脚本可以添加更多的参数,比如一个“纵横比”,它可以提高你的能力。

票数 1
EN

Stack Overflow用户

发布于 2021-03-07 17:16:13

如果您正在使用Linux,而bash是您的shell,则可以将bash函数添加到您的.bashrc中。

代码语言:javascript
复制
function pov() {
  h=$(expr $2 \* 3 / 2)
  povray $1 +W$2 +H$h $3 $4 $5 $6 $7 $8 $9
}

如果你进入

代码语言:javascript
复制
pov scene.pov 1000

它将执行:

代码语言:javascript
复制
povray scene.pov +W1000 +H1500

第一个参数必须是您的.pov文件,第二个参数必须是没有+W的宽度。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66518538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档