stream
使用示例 • 选项一览
stream 是一个轻量级工具,可将图像(或图像的一部分)的一个或多个像素分量流式输出到你选择的存储格式。它在从输入图像读取像素分量的同时,逐行写出这些分量,因此在处理大图像或需要原始像素分量时,stream 十分适用。
使用示例
为了说明 stream 命令的实用性和易用性,这里列举几个示例。首先,将一张 640x480 的 JPEG 图像的红、绿、蓝分量以无符号字符(unsigned char)的形式流式输出到磁盘:
magick stream -map rgb -storage-type char image.jpg pixels.dat
magick display -depth 8 -size 640x480 rgb:pixels.dat
这里,我们从一张 TIFF 图像中以双精度浮点数(double)的形式,按灰度格式提取一个 100x100 的区域:
magick stream -map i -storage-type double -extract 100x100+30+40 image.tif gray.raw
也可以将要提取的区域与图像文件名关联起来:
magick stream -map i -storage-type double 'image.tif[100x100+30+40]' gray.raw
流式处理要求图像编码器按行顺序读取像素。并非所有格式都遵循这一要求。在工作流中使用流式处理之前,请先验证目标图像格式。
选项一览
stream 命令可识别以下选项。点击某个选项即可查看其工作方式的更多细节。
| 选项 | 说明 |
|---|---|
| -authenticate value | 使用此密码解密图像 |
| -channel type | 将选项应用于选定的图像通道 |
| -colorspace type | 设置图像色彩空间 |
| -debug events | 显示大量调试信息 |
| -define format:option | 定义一个或多个图像格式选项 |
| -density geometry | 图像的水平和垂直分辨率 |
| -depth value | 图像位深度 |
| -extract geometry | 从图像中提取区域 |
| -help | 打印程序选项 |
| -interlace type | 图像隔行扫描方案的类型 |
| -interpolate method | 像素色彩插值方法 |
| -limit type value | 像素缓存资源上限 |
| -list type | Color, Configure, Delegate, Format, Magic, Module, Resource, Type 之一 |
| -log format | 调试信息的格式 |
| -map components | 以此格式存储像素 |
| -monitor | 监视进度 |
| -quantize colorspace | 在此色彩空间中减少图像颜色 |
| -quiet | 抑制所有警告消息 |
| -regard-warnings | 重视警告消息 |
| -respect-parentheses | 设置在括号边界之前保持有效 |
| -sampling-factor geometry | 水平和垂直采样系数 |
| -seed value | 为新的伪随机数序列设置种子 |
| -set attribute value | 设置图像属性 |
| -size geometry | 图像的宽度和高度 |
| -storage-type type | 以此存储类型存储像素 |
| -synchronize | 将图像同步到存储设备 |
| -taint | 将图像标记为已修改 |
| -transparent-color color | 透明色 |
| -verbose | 打印图像的详细信息 |
| -version | 打印版本信息 |
| -virtual-pixel method | 图像边界外像素的访问方法 |