Vbscript 如何使用本机Windows XP功能以编程方式将图像文件转换为BMP?

Vbscript 如何使用本机Windows XP功能以编程方式将图像文件转换为BMP?,vbscript,windows-xp,wsh,image-conversion,jscript,Vbscript,Windows Xp,Wsh,Image Conversion,Jscript,是否可以使用WindowsXP的本机库和脚本功能将图像文件转换为BMP格式 我说的是WSH、JScript、VBS等… 如果用DEV-C++ +/P>编译,我也需要。查看属于GDI+的类。要从脚本转换图像,可以使用。它不是严格意义上的“本机”库,但它是可再发行的(请参阅EULA) Blow是一个JScript示例,演示如何将图像转换为BMP。原始图像可以是PNG、GIF、JPEG或TIFF。在运行脚本之前,请在系统中注册wiaaut.dll库 var wiaIDUnknown = "{00000

是否可以使用WindowsXP的本机库和脚本功能将图像文件转换为BMP格式

我说的是WSH、JScript、VBS等…

如果用DEV-C++ +/P>编译,我也需要。查看属于GDI+的类。

要从脚本转换图像,可以使用。它不是严格意义上的“本机”库,但它是可再发行的(请参阅EULA)

Blow是一个JScript示例,演示如何将图像转换为BMP。原始图像可以是PNG、GIF、JPEG或TIFF。在运行脚本之前,请在系统中注册wiaaut.dll库

var wiaIDUnknown = "{00000000-0000-0000-0000-000000000000}";
var wiaFormatBMP = "{B96B3CAB-0728-11D3-9D7B-0000F81EF32E}";

// Load the original image
var img = new ActiveXObject("WIA.ImageFile");
img.LoadFile("D:\\MyFolder\\MyImage.gif");

switch (img.FormatID)
{
  case wiaIDUnknown:
    // Unknown image format or an invalid image file
    break;

  case wiaFormatBMP:
    // The image is already BMP
    break;

  default:
    // Specify the new format
    var ip  = new ActiveXObject("WIA.ImageProcess");
    ip.Filters.Add(ip.FilterInfos("Convert").FilterID);
    ip.Filters(1).Properties("FormatID").Value = wiaFormatBMP

    // Convert and save the image
    img = ip.Apply(img);
    img.SaveFile("D:\\MyFolder\\MyImage.bmp");
}

另请参见MSDN。

我认为从Windows 7开始,WIA DLL随Windows一起提供。 否则你可以

这是转换为vbscript的@Helen代码:

Const wiaIDUnknown = "{00000000-0000-0000-0000-000000000000}"
Const wiaFormatBMP = "{B96B3CAB-0728-11D3-9D7B-0000F81EF32E}"

Sub die(msg)
    WScript.Echo(msg)
    WScript.Quit(1)
End Sub

'-----------------------------------------------------------------
' MAIN

Set args = WScript.Arguments
If args.Count <> 2 Then die "Usage: WIA_convert.vbs <filename_input> <filename_output>"

filename_in = args.Item(0)
filename_out    = args.Item(1)

Set img_in = CreateObject("WIA.ImageFile")
img_in.LoadFile filename_in
Wscript.Echo "Width  = " & img_in.Width
Wscript.Echo "Height = " & img_in.Height

Select Case img_in.FormatID
Case wiaIDUnknown
    Wscript.Echo "Unknown format"

Case wiaFormatBMP
    Wscript.Echo "Image is BMP"

Case Else
    Set ip  = CreateObject("WIA.ImageProcess")
    ip.Filters.Add(ip.FilterInfos("Convert").FilterID)
    ip.Filters(1).Properties("FormatID").Value = wiaFormatBMP

    Set img_out = ip.Apply(img_in)
    img_out.SaveFile(filename_out)
End Select
Const wiaidnown=“{00000000-0000-0000-0000-000000000000}”
Const wiaFormatBMP=“{B96B3CAB-0728-11D3-9D7B-0000F81EF32E}”
副模具(msg)
WScript.Echo(msg)
WScript.Quit(1)
端接头
'-----------------------------------------------------------------
“主要的
Set args=WScript.Arguments
如果args.Count为2,则“用法:WIA_convert.vbs”
filename_in=args.Item(0)
filename\u out=args.Item(1)
设置img_in=CreateObject(“WIA.ImageFile”)
img_in.LoadFile filename_in
Wscript.Echo“Width=“&img_in.Width
Wscript.Echo“Height=“&img_in.Height
在FormatID中选择Case img_
案件编号未明
Echo“未知格式”
案例wiaFormatBMP
Echo“图像是BMP”
其他情况
设置ip=CreateObject(“WIA.ImageProcess”)
ip.Filters.Add(ip.FilterInfos(“转换”).FilterID)
ip.Filters(1).Properties(“FormatID”).Value=wiaFormatBMP
设置img_out=ip.Apply(img_in)
img\u out.SaveFile(文件名\u out)
结束选择