Just a quick script that lists information about the PNG and JPG images in a directory. I wrapped the important parts in a Start/Stop Transcript so that all output is logged to a file. I needed to get a feel for the image sizes and resolutions uploaded by users in our production environment in order to make recommendations for updates to the system.
add-type -AssemblyName System.Drawing;
try { Start-Transcript ".\Get-ImageInformation-log.txt" -ErrorAction SilentlyContinue; } catch {}
gci "C:\Demo\Images\*" -Include @("*.png","*.jpg") | % {
$img = New-Object System.Drawing.Bitmap $_.FullName;
$obj = New-Object PSObject;
Add-Member -InputObject $obj -MemberType NoteProperty -Name Name -Value $_.Name;
Add-Member -InputObject $obj -MemberType NoteProperty -Name Length -Value $_.Length;
Add-Member -InputObject $obj -MemberType NoteProperty -Name Height -Value $img.Height;
Add-Member -InputObject $obj -MemberType NoteProperty -Name Width -Value $img.Width;
Add-Member -InputObject $obj -MemberType NoteProperty -Name HRes -Value $img.HorizontalResolution;
Add-Member -InputObject $obj -MemberType NoteProperty -Name VRes -Value $img.VerticalResolution;
[Void]$img.Dispose();
$obj;
} | ft -AutoSize Name, @{n='Length';e={"{0:N2} KB" -f ($_.Length / 1Kb)};align='right'}, Height, Width, HRes, VRes;
try { Stop-Transcript -ErrorAction SilentlyContinue; } catch {}
No comments:
Post a Comment