2010-07-10 4 views
0

Mon plan est de charger une image à partir d'un disque dur d'un utilisateur, puis faire un peu de magie sur elle en mémoire.Comment puis-je obtenir la largeur et la hauteur d'une image?

La première chose est d'abord, comment puis-je obtenir la hauteur et la largeur d'une image?

Aussi, disons que je voulais sélectionner une pièce rectangulaire de l'image, comment ferais-je cela en mémoire (pas d'interface graphique)?

Nous vous remercions de votre aide.

Répondre

2

Vous devrez ajouter une référence à l'espace de noms System.Drawing.

using(Image image = Image.FromFile(path)); 
{ 
    // use image.Width and image.Height 
} 

Vous pouvez alors utiliser le mode Clone avec un rectangle comme argument pour obtenir une sous-section de l'image, ou vous pouvez simplement boucle à travers les pixels dans le rectangle d'intérêt (vous aurez envie d'utiliser la classe Bitmap pour cela, peut-être LockBits et un pointeur en fonction de la taille de l'image et de la vitesse à laquelle cela doit être).

0

Qu'est-ce que vous utilisez? En dehors de WPF, vous pouvez utiliser les propriétés System.Drawing.Bitmap Width et Height pour obtenir la taille d'une image. La méthode Clone vous permettra de copier une pièce rectangulaire.

Vous pouvez également utiliser les classes d'image utilisées dans les applications GUI en dehors de l'application WPF/Windows Forms.

+0

Je suppose que l'OP fait référence à un env autre que WPF, puisqu'il le marquerait probablement alors 'wpf' – Shimmy

+0

C'est pourquoi ma réponse est plus complète à propos de le faire sans WPF, avec seulement System.Drawing.Bitmap. Je mentionne WPF juste pour souligner que les méthodes WPF peuvent également être utilisées dans une application non-GUI. –

Questions connexes