8
votes

Comment puis-je obtenir la résolution d'une image? (JPEG, GIF, PNG, JPG)

J'ai trouvé cette méthode: xxx

mais je ne comprends pas vraiment comment chercher ce que je cherche. Je ne suis pas intéressé par DPI, j'ai juste besoin des numéros de 1024x768, 1200x1024 et etc. Aussi, devrais-je créer un nouvel objet image chaque fois que je souhaite trouver la résolution de l'image?

Je fais une application qui répertorie les images actuelles dans un dossier donné, de sorte que toute aide serait donc apprécié. :)


0 commentaires

3 Réponses :


3
votes

Pour obtenir la taille: xxx

voici un liste complète des propriétés système.Drawing.image , si le cas veut afficher les autres.

Je ne sais pas s'il y a un moyen plus rapide pour un répertoire entier, Avec Windows Vista / 7, il peut y avoir une API plus récente qui contient cette info, je ne l'ai pas rencontrée.


0 commentaires

3
votes

Vous avez sûrement répondu à votre propre question, c'est aussi simple que ceci:

Bitmap bmp = new Bitmap(@"winter.bmp");     
Console.WriteLine("Image Width: " + bmp.Width);
Console.WriteLine("Image Height: " + bmp.Height);


0 commentaires

15
votes

"1024x768" est seulement appelé "résolution" dans le contexte des paramètres d'affichage d'un ordinateur, et même alors c'est un malheur malheureux. Dans l'imagerie "1024X768", c'est simplement la largeur em> & la hauteur em> de l'image, de sorte que d'autres ont mentionné, vous avez déjà montré le code qui récupère ces chiffres. Modifier légèrement: xxx pré>

la seule méthode intégrée pour obtenir les numéros que vous avez suivi est en créant une nouvelle instance (et, en fait, décodage de l'image entière) - qui va Soyez hautement inefficace si vous avez besoin de récupérer de juste ces chiffres pour plusieurs centaines d'images. Éviter cela est difficile; Voici un point de départ: Comment puis-je obtenir de manière fiable des dimensions d'image dans .net sans charger l'image? p>


Lorsque vous parlez de "résolution", vous vous référez normalement au nombre de points ou pixels, par pouce . Le bitmap CODE> Classe stocke celui-ci dans le horizontalResolution code> / Propriétés, tandis que la classe graphique dans dpix code> / / DPIY code>. P>

Ce calcul: p>

(bmp.Width / bmp.HorizontalResolution) * g.DpiX


2 commentaires

Pouvez-vous fournir un exemple de travail minimum / JS FIDDLE pour obtenir DPI de l'image JPEG téléchargée à l'aide de JS?


Famin stupide fait ... Si vous appelez la fonction de rotation, MS décide, c'est 300DPI ... Quelle que soit l'image d'origine. Vous devez attraper si avant de tourner, tournez, réinitialisez-le (avec des réglages à bascule appropriés pour chaque 90 degrés de rotation), puis enregistrez-le. Parce que Microsoft ....