2009-09-26 16 views
1

J'ai utilisé ce morceau de code pour mettre une image dans une variable. Ce que je veux faire est de dessiner des points sur différents endroits et enregistrer le résultat. Ce que je fais c'est d'ouvrir une boîte de dialogue pour sélectionner le fichier et de vérifier si cela a fonctionné, je l'ai mis dans une boîte à image. Utilisation de Winforms hors cours Utilisation de Visual Studio 2008 ProfessionalMettre des couleurs sur une image en C#

EDIT: la variable openImg que vous voyez utilisée ci-dessous comme le nom que j'ai donné à l'instance openFileDialog que j'utilise.

private string CurrentFile; 
private Image img; 

private void fileToolStripMenuItem_Click(object sender, EventArgs e) 
{ 
    openImg.Title = "Open Image File"; 
    openImg.Filter = "JPEG Files|*.jpg" + 
        "|Enhanced Windows MetaFile|*.emf" + 
        "|Exchangeable Image File|*.exif" + 
        "|Gif Files|*.gif|Icons|*.ico" + 
        "|PNG Files|*.png|TIFF Files|*.tif|Windows MetaFile|*.wmf"; 
    openImg.DefaultExt = "jpg"; 
    openImg.FilterIndex = 1; 
    openImg.FileName = ""; 
    openImg.ShowDialog(); 
    if (openImg.FileName == "") 
    { 
     return; 
    } 
    CurrentFile = openImg.FileName.ToString(); 
    img = Image.FromFile(openImg.FileName); 
    pictureBox1.Image = img; 
} 

Jusqu'ici tout va bien.

Avec cette première étape, j'ai voulu définir un objet Couleur, que je peux utiliser pour dessiner à certains endroits plus tard.

Je n'ai jamais travaillé avec eux auparavant.

Color yellow = new Color(); 

Je me rends compte que tout le nommant « jaune » ne le fera pas jaune, mais je ne suis pas donné la possibilité de choisir une couleur ... Visual Studio n'a même pas montrer la variable dans la saisie semi-automatique Je suis un peu perplexe. Ce que je veux faire est de définir une certaine région sur l'image pour dessiner une certaine couleur.

Répondre

10

Vous ne pouvez pas construire une nouvelle couleur comme vous l'avez fait dans votre question. Color a beaucoup de statique properties là-dessus pour différentes couleurs, plus quelques méthodes pour définir vos propres couleurs (voir FromArgb pour un exemple). Pour obtenir une couleur jaune, vous souhaitez utiliser Color.Yellow.


Pour dessiner sur votre image, vous voulez utiliser Graphics.FromImage(img) pour obtenir une instance de Graphics, l'aide que vous pouvez dessiner directement sur l'image. Jetez un oeil à la methods of Graphics pour savoir comment tracer des lignes, des courbes, des formes, etc ...

+1

Merci, j'aurais probablement dû consulter la documentation MSDN sur Color. – KdgDev

0

Couleur jaune = Color.Yellow ou jaune = Color.FromArgb (0, 255, 255)

1

Utilisation:

Color yellow = Color.Yellow; 
1

Si vous tapez ceci:

Color yellow = Color. 

... dès que vous tapez le, vous verrez un pop-up IntelliSense qui répertorie les propriétés et les méthodes disponibles à la couleur « » classe.

Parfois les classes peuvent être instanciées avec la "nouvelle" syntaxe, et parfois elles ne peuvent pas (comme Color). Je ne pourrais pas vraiment vous dire pourquoi dans n'importe quelle circonstance donnée, mais il est bon de prendre l'habitude de vérifier les méthodes statiques de création d'instance chaque fois que le compilateur vous dit que la "nouvelle" syntaxe ne fonctionnera pas.

Questions connexes