【发布时间】:2010-02-04 19:28:10
【问题描述】:
我需要选择 .png 文件的一部分,带有特定的协调器,然后删除该区域,然后以相同的名称保存文件。 如果您能帮助提出一个可以完成此任务的 VBScript 脚本,我将不胜感激。 如果所有过程都发生在后台,那就太好了,但如果图像文件必须打开且可见,那也可以。非常感谢!!!
【问题讨论】:
标签: image vbscript default.png
我需要选择 .png 文件的一部分,带有特定的协调器,然后删除该区域,然后以相同的名称保存文件。 如果您能帮助提出一个可以完成此任务的 VBScript 脚本,我将不胜感激。 如果所有过程都发生在后台,那就太好了,但如果图像文件必须打开且可见,那也可以。非常感谢!!!
【问题讨论】:
标签: image vbscript default.png
VBScript 没有任何图像编辑功能,因此您需要一个外部工具。例如,GIMP 可以从命令行进行图像处理(请参阅here)。 ImageMagick 除了提供命令行界面外,还提供了一个可编写脚本的组件(详情here)。
要从 VBScript 脚本运行命令行,您可以使用 WShShell.Run 方法。要创建 COM 脚本组件的实例,请使用 CreateObject 函数。
【讨论】:
PNG 文件,与任何其他二进制文件一样,可以使用 CMD 或 VBS 进行编辑。
一个PNG文件的布局如下:
阅读 RFC 2083 中的PNG format,了解如何在二进制/位级别编辑/创建 PNG 文件。
为了加快编辑过程,库可用于应用程序级别的编辑。 这里是some VBA codes 用于图像处理。
ImageMagick 还提供了可以通过 VBS 访问的库进行图像编辑。
这是 bmp 和 pcx 文件的VBScript Image Class(在通过 WIA 编辑之前可以将其转换为 PNG)。 Loadpicture 函数described here 似乎不支持PNG,但this discussion 可能会解决它。
Windows Image Acquisition Library v2.0 支持PNG、BMP、JPG、GIF 和TIFF 图像格式,并附带Windows Vista 及更高版本。 Sample scripts 可用于演示“使用 ImageFile 对象进行图像处理”。 Vector.ImageFile property 还“从原始 ARGB 数据创建一个 ImageFile 对象”。
更多示例代码here 和here 展示了如何在vbs 中使用WIA Image constants 进行旋转、翻转、缩放、裁剪等。要删除不需要的图像区域(具有给定坐标),请使用crop function。
这是 a discussion 在 stackoverflow 上的 WIA 2.0 图像编辑。
【讨论】: