2011-03-10 5 views
0

Je souhaite tracer des points sur une image qui sont un peu transparents. Comme je suis capable de voir sur quelle zone sont-ils présents. Y at-il un moyen sur la plate-forme C# .net de le faire.Tracer des points sur un formulaire

Merci.

Répondre

4

C'est une façon de le faire.

Image bitmap = new Bitmap(100, 100); // sample image, load your real image from file here 
using (var g = Graphics.FromImage(bitmap)) 
{ 
    g.FillRectangle(Brushes.Red, new Rectangle(0, 0, bitmap.Width, bitmap.Height)); // Just to fill the background on the sample image, remove this 

    var transparentColor = Color.FromArgb(127, Color.Blue); // Create a semitransparent color 
    using(Brush brush = new SolidBrush(transparentColor)) 
    { 
     // Create the dot 
     g.FillEllipse(brush, new Rectangle(10, 10, 25, 25)); 

     // Create another dot 
     g.FillEllipse(brush, new Rectangle(25, 15, 25, 25)); 
    } 
} 

myPictureBox.Image = bitmap; // display the image in an Imagebox (optional, you might use your image somewhere else) 
+0

cette chose fonctionne bien .. bt pourriez-vous s'il vous plaît dites-moi comment exactement cela crée-t-il l'effet transparent? Est-ce la déclaration "color.fromargb"? aussi si je veux ne pas utiliser un bitmap est-il un moyen? – olive

+0

@olive, oui ['FromArgb'] (http://msdn.microsoft.com/en-us/library/system.drawing.color.fromargb.aspx) crée une couleur, le' 127' est la valeur alpha (canal de transparence). Il existe d'autres surcharges pour créer des couleurs à partir de 'a, r, g, b' individuellement, voir le lien pour toutes les surcharges. –

+0

@olive, vous pouvez utiliser n'importe quelle autre image au lieu de l'image bitmap, j'ai mis à jour ma réponse un peu avec le type de 'bitmap'. –

Questions connexes