如何在Maxscript中将位图保存为16位?

时间:2017-09-12 12:35:02

标签: bitmap maxscript zbuffer

我想读出相机的z缓冲区,并将其渲染为图像。

我可以使用以下代码实现它:

--Place the z camera
z_cam = freecamera name: "depth"  position:[0.0,0.0,50.0] rotation: (eulertoquat (eulerAngles 0 0 0))

z_name = "mybitmap.png"

--get z buffer          
rbmp = render outputsize:[512,424] channels:#(#zdepth) vfb:off camera: z_cam
z_d = getchannelasmask rbmp #zdepth outputfile:z_name 
z_d.fileName = z_name
save z_d
close z_d

但是,这会将图像保存为24位Png,具有3个通道(每个通道8位)。我希望将其保存为灰度图像,我使用16位像素表示。如何用max-script实现呢?

1 个答案:

答案 0 :(得分:1)

您之前是否尝试过调用pngio.setType #gray16

或者,使用zDepth channel保存到exr并使用它。