【问题标题】:How to modify a .png image with VBScript如何使用 VBScript 修改 .png 图像
【发布时间】:2010-02-04 19:28:10
【问题描述】:

我需要选择 .png 文件的一部分,带有特定的协调器,然后删除该区域,然后以相同的名称保存文件。 如果您能帮助提出一个可以完成此任务的 VBScript 脚本,我将不胜感激。 如果所有过程都发生在后台,那就太好了,但如果图像文件必须打开且可见,那也可以。非常感谢!!!

【问题讨论】:

    标签: image vbscript default.png


    【解决方案1】:

    VBScript 没有任何图像编辑功能,因此您需要一个外部工具。例如,GIMP 可以从命令行进行图像处理(请参阅here)。 ImageMagick 除了提供命令行界面外,还提供了一个可编写脚本的组件(详情here)。

    要从 VBScript 脚本运行命令行,您可以使用 WShShell.Run 方法。要创建 COM 脚本组件的实例,请使用 CreateObject 函数。

    【讨论】:

    • 嗯,你可以用 vbscript 读/写文件。因此,如果您知道如何在 .png 文件中定位像素数据,则可以对其进行修改。为此,您基本上会制作自己的 png 文件解析器。一旦有了这样的解析器,就必须将两个 x,y 坐标转换为文件中所有这些像素的位置并更改它们的值。但是,png 文件非常复杂。它们可以是平的或有层的,它们可以有一个透明通道。我上面提到的事情并非微不足道。我认为上面的答案会让你得到你想要的。
    • 您来这里是为了阻止其他人回答这个问题,还是只是想留下一些希望被选为答案的东西?这是评论,不是答案。
    【解决方案2】:

    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 对象”。

    更多示例代码herehere 展示了如何在vbs 中使用WIA Image constants 进行旋转、翻转、缩放、裁剪等。要删除不需要的图像区域(具有给定坐标),请使用crop function

    这是 a discussion 在 stackoverflow 上的 WIA 2.0 图像编辑。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-08
      • 1970-01-01
      • 1970-01-01
      • 2018-01-19
      • 1970-01-01
      • 2012-09-02
      • 2012-01-11
      相关资源
      最近更新 更多