09-05-2018 10:00 AM
Hello All
I have developed some report templates that assume that all images will be in Landscape mode however it appears that sometimes my techs forget this and take photos in portrait mode.
I have stumbled across the "LoadPicture" function and I have found a way to create an image object however I cannot seem to find additional documentation (on the web) on of the methods or properties associated with the object.
Basically I would like to check if an image file on disk is either in portrait or landscape mode and rotate the image if need be.
Any help would be appreciated
Solved! Go to Solution.
09-10-2018 12:00 PM
I found a viable work around see below
Set miDoc = LoadPicture(file) 'Where file is full image file path and name If miDoc.height > miDoc.width Then 'Logic being if the height > width the photo is in portrait mode Call WIA_RotateImage(file, file, 270) End If Function WIA_RotateImage(sInitialImage, sOutputImage, lRotAng) Dim oWIA 'WIA.ImageFile Dim oIP 'ImageProcess 'Should check if the output file already exists and if so, 'prompt the user to overwrite it or not Set oWIA = CreateObject("WIA.ImageFile") Set oIP = CreateObject("WIA.ImageProcess") oIP.Filters.Add oIP.FilterInfos("RotateFlip").FilterID oIP.Filters(1).Properties("RotationAngle") = lRotAng oWIA.LoadFile sInitialImage Set oWIA = oIP.Apply(oWIA) DeleteAFile(sOutputImage) oWIA.SaveFile sOutputImage End Function Sub DeleteAFile(filespec) Dim fso Set fso = CreateObject("Scripting.FileSystemObject") fso.DeleteFile(filespec) End Sub
Not the most elegant solution but it does work.