Vane Data / API 参考
decode_image_file
decode_image_file 把 IMAGEFILE 解码为 IMAGE。mode=None 保留 IMAGE 可表示的源模式;调色板图像扩展为 RGBA,整数位深与浮点 RGB(A) 会保留。
签名
vane.decode_image_file( value, mode=None, on_error="raise", *, max_input_bytes=268435456, max_pixels=100000000, max_decoded_bytes=536870912, ) -> Expression
SQL:decode_image_file(file [, mode, on_error, max_input_bytes, max_pixels, max_decoded_bytes])。Expression 方法:expr.decode_image_file(...)。
参数
| 名称 | 类型 | 说明 | 默认值 |
|---|---|---|---|
| value | IMAGEFILE 值或 Expression | 编码图像对象 | 必填 |
| mode | 模式名、ImageMode、Expression 或 None | 结果像素模式;None 保留可表示的源模式 | None |
| on_error | "raise" / "null" | "null" 只抑制已分类的编码格式与 codec 失败 | "raise" |
| max_input_bytes | 整数或 Expression | 编码输入上限 | 256 MiB |
| max_pixels | 整数或 Expression | 像素上限 | 100,000,000 |
| max_decoded_bytes | 整数或 Expression | 解码像素预算 | 512 MiB |
返回值与错误
返回动态 IMAGE,常量模式对应 IMAGE(mode)。NULL 返回 NULL。即使 on_error="null",I/O、中断、依赖和限制错误仍会传播。SQL 执行时,每个向量批次用于存储解码像素的空间上限为 256 MiB。
示例
import vane con = vane.connect() con.sql("SELECT decode_image_file(image_file('photo.png'), 'RGBA')").show()