代码之家  ›  专栏  ›  技术社区  ›  GetFree

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

  •  4
  • GetFree  · 技术社区  · 14 年前

    我说的是WSH,JScript,VBS等等。。。
    C++也可以很好地满足我的需要,如果它可以用DEV-C++编译

    2 回复  |  直到 13 年前
        1
  •  2
  •   Android Eve    14 年前

    是的,你可以。看看这个 Image

        2
  •  1
  •   Helen    14 年前

    要从脚本转换图像,可以使用 WIA Automation Library

    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");
    }
    

    另请参见 WIA documentation 在MSDN上。

        3
  •  0
  •   Massimo    5 年前

    我认为从windows7开始WIA的DLL都是Windows提供的。 download WIA

    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