16-Bits BMP Validation
-
23-09-2019 - |
Frage
Ich entwickle ein Script mit VBScript und ich brauche die Eingabedatei als ein 16-Bit BMP zu validieren.
Zu der Zeit, mein Skript ist wie folgt aus:
Const OverwriteExisting = TRUE
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile "C:\16bmp.bmp" , "D:\test.bmp", OverwriteExisting
Aber wie kann ich die Eingabedatei als 16-Bit BMP validieren?
PS:. Denken Sie daran, dass ich mit meiner Website und Windows CE kompatibel zu sein (ich werde ein Programm entwickeln, um es mit NSBasic)
Lösung
Ich bin sicher, dass nicht ich habe Sie richtig (Englisch meine zweite Sprache ist), aber wenn Sie überprüfen müssen, ob eine Datei ist ein 16-Bit-BMP-Bild (und nicht die tatsächlichen Pixel überprüfen), können Sie Gebrauch machen das Windows Image Acquisition (WIA) Scripting-Objekte. Hier ein Beispiel:
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
Dieses Skript setzt voraus, dass Sie die wiaaut.dll Bibliothek installiert und auf Ihrem Computer registriert; wenn Sie es nicht haben, können Sie es als Teil der WIA SDK .
Siehe auch WIA Dokumentation auf MSDN.
Andere Tipps
würden Sie haben die Dateidaten lesen und vergleichen Sie es mit der BMP-Format-Spezifikation .
Es gibt drei Möglichkeiten, die ich von zu Arbeit weiß mit binären Dateien in VBScript:
- die Komponente ADODB verwenden. Diese Methode ist eine Art beschränkt. Sie können einen Artikel über ihn unter Google-Suche und fand einige fertigter Komponenten, die diese Funktionalität. bieten
- Sie können auch installieren ImageMagick und es verwenden, die BMP zu identifizieren. Das könnte für Ihre Zwecke sein Overkill though.