我正在使用VBScript开发脚本,我需要将输入文件验证为16位BMP。
当时我的脚本是这样的:
Const OverwriteExisting = TRUE
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile "C:\16bmp.bmp" , "D:\test.bmp", OverwriteExisting
但是如何将输入文件验证为16位BMP?
PS:请记住,我需要这个与我的网站和Windows CE兼容(我将使用NSBasic为它开发一个程序)。
答案 0 :(得分:2)
我不确定我是否正确(英语是我的第二语言),但是如果您需要检查文件是否是16位BMP图像(并且不验证实际像素),您可以使用Windows Image Acquisition(WIA)脚本对象。这是一个例子:
Const wiaIDUnknown = "{00000000-0000-0000-0000-000000000000}"
Const wiaFormatBMP = "{B96B3CAB-0728-11D3-9D7B-0000F81EF32E}"
Set oImg = CreateObject("Wia.ImageFile")
On Error Resume Next
oImg.LoadFile("C:\image.bmp")
If oImg.FormatID = wiaIDUnknown Then
' The file isn't an image file
Else
Log.Message "Is BMP: " & (oImg.FormatID = wiaFormatBMP)
Log.Message "Color depth: " & oImg.PixelDepth
End If
此脚本要求您在计算机上安装并注册 wiaaut.dll 库;如果您没有,可以将其下载为WIA SDK。
的一部分另请参阅MSDN上的WIA documentation。
答案 1 :(得分:1)
您必须阅读文件数据并将其与BMP format specification进行比较。
我知道在VBScript中使用二进制文件有三种方法: