Not entirely sure what you are trying to achieve, but try something like this:
[array]$PNGsDirectory = Get-ChildItem C:\FileName\ *.png -recurse | Select-Object Directory
foreach($Directory in $PNGsdirectory) {Write-Host $Directory.Directory.FullName}
$PNGsDirectory contains PSCustomObjects so you need $Directory.Directory.FullName.