39.11. imgfile —支持 SGI imglib 文件

自 2.6 版起弃用:imgfile模块已在 Python 3 中删除。

imgfile模块允许 Python 程序访问 SGI imglib 图像文件(也称为.rgb文件)。该模块远非完整,但由于在某些情况下具有足够的Function,因此无论如何都提供了该模块。当前,不支持颜色图文件。

该模块定义以下变量和函数:

  • exception imgfile. error

    • 在所有错误(例如不支持的文件类型等)上引发此异常。
  • imgfile. getsizes(* file *)

    • 此函数返回一个 Tuples(x, y, z),其中* x y 是图像的大小(以像素为单位),而 z *是每个像素的字节数。当前仅支持 3 字节 RGB 像素和 1 字节灰度像素。
  • imgfile. read(* file *)

    • 此函数读取并解码指定文件上的图像,并将其作为 Python 字符串返回。该字符串具有 1 字节灰度像素或 4 字节 RGBA 像素。左下方的像素是字符串中的第一个像素。例如,此格式适合传递给gl.lrectwrite()
  • imgfile. readscaled(* file x y filter * [,* blur *])

    • 此函数与 read 相同,但它返回的图像将缩放为给定的* x y 大小。如果Ellipsis filter blur *参数,则仅pass删除或复制像素即可完成缩放,因此结果将不尽人意,尤其是对于计算机生成的图像。

或者,您可以指定一个过滤器,以在缩放后使图像平滑。支持的过滤器形式为'impulse''box''triangle''quadratic''gaussian'。如果指定了滤镜,则* blur *是一个可选参数,用于指定滤镜的模糊度。默认为1.0

readscaled()不会try保持正确的宽高比,这是用户的责任。

  • imgfile. ttob(* flag *)

    • 此函数设置一个全局标志,该标志定义从底部到顶部(标志为零,与 SGI GL 兼容)还是从顶部到底部(标志为一,与 X 兼容)读取或写入图像的扫描线。默认值为零。
  • imgfile. write(* file data x y z *)

    • 此函数将* data 中的 RGB 或灰度数据写入图像文件 file *。 * x y 给出图像的大小,对于 1 字节灰度图像, z 是 1,对于 RGB 图像, z *是 3(它们存储为 4 字节值,仅使用低三位字节)。这些是gl.lrectread()返回的格式。