Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Messages recommandés

Posté(e) (modifié)

Salut,

J'ai besoin de vérifier la résolution de très nombreux fichiers images (jpg, png, tga, tif...) dans des dossiers pour vérifier leur résolution.

Je n'ai pas réussi à partir de l'explorateur des fichiers de Windows, pas assez de possibilités.

Existe t'il un freeware pour ça ?

Merci

Modifié par stigma

Posté(e) (modifié)

Bonjour @stigma

Je ne sais si pas ma réponse va te satisfaire ?
Fait un clic DROIT sur le fichier en question (image, photo, etc...)
Et au bas de la petite fenêtre qui s'ouvre, clique sur "Propriétés".

Ensuite, en haut de la nouvelle fenêtre qui s'ouvre (à l'onglet "Général") tu connaitras déjà la taille du fichier.
(Taille exprimée en xx Ko ou xx Mo)
En cliquant, toujours en haut de la fenêtre, sur l'onglet "Détails",  et en déroulant un peu la petite fenêtre vers le bas jusqu'à la section "Images", tu obtiendras d'autres informations, tel que :
- Dimensions, largeur, hauteur (en pixels)
- Résolution horizontale et verticale (en ppp, soit en points par pouce)
- Etc, etc...

spacer.png
...

Modifié par Le Novice °¿°
  • Modérateurs
Posté(e)

Bonjour, 

Si je ne m'abuse, la résolution d'une image c'est son nombre de pixels, donc la multiplication de sa largeur par sa hauteur. Tu trouveras ces données dans la propriété "Dimensions", que tu peux afficher dans l'explorateur Windows. 

Posté(e) (modifié)

Hello,
Vu qu'il est mentionné "de très nombreux fichiers", je doute qu'aller regarder les propriétés dans l'explorateur Windows, fichier par fichier, réponde au besoin ;)

Si mon interprétation est correcte, il doit exister des freewares pour automatiser cela, mais sinon un (relativement) simple script PowerShell peut faire l'affaire

$dossierCible = "C:\Users\<ton_compte_windows>\Desktop"
$include = @("*.jpg","*.jpeg","*.png","*.gif","*.tif")

$appShell = New-Object -ComObject "shell.application"
Get-ChildItem -Path "$dossierCible\*" -Recurse -Force -Include $include  | ForEach-Object {
	if ( $_.DirectoryName -eq  $dossierCible) {
		$Dossier = $_.DirectoryName
	} else {
		$Dossier = $_.DirectoryName.Substring($dossierCible.Length + 1)
	}
	$nsDossier= $appShell.Namespace($Dossier)
	$image = $nsDossier.ParseName($_.Name)
	if ($nsDossier.GetDetailsOf($image, 31) -match "(?<width>\d+) x (?<height>\d+)") {
		[PsCustomObject]@{
		Image      = $_.FullName
		Largeur    = $Matches.width
		Hauteur    = $Matches.height
		Orientation = if ($Matches.height -gt $Matches.width) { "Portrait" } else { "Paysage" } 
		}
	}
}

A paramétrer  (les 2 premières lignes) :
-
$dossierCible  , avec le chemin du dossier où se trouvent tes images (pour l'exemple : sur le bureau windows)
- $include  , avec les extensions images que tu cherches

Le script va chercher dans ce répertoire (et ses sous-répertoires) les fichiers avec les extensions recherchées, et pour chaque fichier, afficher le nom (chemin complet) , la largeur, la hauteur, et l'orientation.
pour ce type de résultats :

image.png.458d3f56a145c7fa0c8db499fb88157c.png

(il semble y avoir bcp d'autres infos récupérables, j'ai fait au plus simple par rapport au besoin exprimé)

A voir, donc si ça répond à la demande (et dans le cas contraire, il faudrait plus d'info sur le réel besoin :) )

Bonne journée.

 

Modifié par JWhy
  • Modérateurs
Posté(e)

Bonjour,

La meilleure solution, avec l'explorateur Windows, c'est de demander l'affichage des détails souhaités :

Onglet affichage, sélectionner "Détails", et un clic droit sur la barre des détails.

rd3c.png

Il peut arriver que certaines options soient à aller sélectionner dans "Autres".

Voilà.

Bonne journée.

Posté(e) (modifié)

la solution de JWhy me parait bien, je vais la tester. Je n'ai jamais utilisé de commande Powershell (je crois qu'il faut que j'installe un truc avant)

la solution de pustelnik ne fonctionne pas car j'ai un tas de répertoires à tester.

Je bosse sur un gros projet (à mon niveau) de jeu Unity 3D et j'ai des fuites de mémoire assez importantes dans l'éditeur et je soupçonne des textures non puissance de 2 dans certains Assets que j'utilise.

Modifié par stigma
Posté(e)

voici le script modifié :

$dossierCible = "C:\Users\alain\3D\Omanah\Assets"
$include = @("*.png","*.tif","*.tga")

$appShell = New-Object -ComObject "shell.application"
Get-ChildItem -Path "$dossierCible\*" -Recurse -Force -Include $include  | ForEach-Object {
	if ( $_.DirectoryName -eq  $dossierCible) {
		$Dossier = $_.DirectoryName
	} else {
		$Dossier = $_.DirectoryName.Substring($dossierCible.Length + 1)
	}
	$nsDossier= $appShell.Namespace($Dossier)
	$image = $nsDossier.ParseName($_.Name)
	if ($nsDossier.GetDetailsOf($image, 31) -match "(?<width>\d+) x (?<height>\d+)") {
		[PsCustomObject]@{
		Image      = $_.FullName
		Largeur    = $Matches.width
		Hauteur    = $Matches.height
		Orientation = if ($Matches.height -gt $Matches.width) { "Portrait" } else { "Paysage" } 
		}
	}
}

Mais j'ai des erreurs :

Au caractère Ligne:13 : 6
+     if ($nsDossier.GetDetailsOf($image, 31) -match "(?<width>\d+) x ( ...
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation : (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull
 
Impossible d’appeler une méthode dans une expression Null.
Au caractère Ligne:12 : 2
+     $image = $nsDossier.ParseName($_.Name)
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation : (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull
 
Impossible d’appeler une méthode dans une expression Null.
Au caractère Ligne:13 : 6
+     if ($nsDossier.GetDetailsOf($image, 31) -match "(?<width>\d+) x ( ...

 

Posté(e) (modifié)

Hum... a priori, la variable $nsDossier peut être null et donc il n'aime pas -ensuite- qu'on appelle les fonctions ParseName et GetDetailsOf dans ce cas.

par contre, je ne sais pas pkoi elle peut avoir cette valeur null :(

 

du coup, je te propose de tester cette nouvelle version qui va éviter de continuer le code si on tombe sur cette valeur "null", mais ça va peut-être louper certains répertoires

$dossierCible = "C:\Users\alain\3D\Omanah\Assets"
$include = @("*.png","*.tif","*.tga")

$appShell = New-Object -ComObject "shell.application"
Get-ChildItem -Path "$dossierCible\*" -Recurse -Force -Include $include  | ForEach-Object {
	if ( $_.DirectoryName -eq  $dossierCible) {
		$Dossier = $_.DirectoryName
	} else {
		$Dossier = $_.DirectoryName.Substring($dossierCible.Length + 1)
	}
	$nsDossier= $appShell.Namespace($Dossier)
	if ($nsDossier -ne $null) {	
		$image = $nsDossier.ParseName($_.Name)
		if ($nsDossier.GetDetailsOf($image, 31) -match "(?<width>\d+) x (?<height>\d+)") {
			[PsCustomObject]@{
			Image      = $_.FullName
			Largeur    = $Matches.width
			Hauteur    = $Matches.height
			Orientation = if ($Matches.height -gt $Matches.width) { "Portrait" } else { "Paysage" } 
			}
		}
	}
}

Si ça fonctionne (sans erreur donc) , il faudra que tu vérifies si tu retrouves tes petits  (tous tes répertoires/images sont listés) et dans le cas contraire, essayer de voir ce qui pourrait se passer avec les répertoires qui sont omis (peut-etre des noms "étranges", des droits d'accès manquants, ou autres)

Modifié par JWhy
Posté(e)

Et si jamais ça ne fonctionne tjrs pas, tu peux récupérer & lancer XnView  (freeware, il existe une version portable) , aller dans le répertoire de ton choix, "afficher les fichiers des sous-dossiers" , filtrer sur les fichiers de type "image", sélectionner toutes tes images et "Créer -> Générer la liste des fichiers"

image.png.1839a3ba2e187b2c7bd6b64bfbb2264b.png

image.thumb.png.62730de0d98f50210e4359c4bc3326d7.png

 

;)

Posté(e)

dans la fenêtre du bas, j'ai toujours cette ligne que je ne peux pas changer :

PS C:\Users\alain\Desktop> 

 

Rejoindre la conversation

Vous publiez en tant qu’invité. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...