2013-04-08 17 views
10

Questo è il mio primo progetto basato sulla grafica e per cominciare devo essere in grado di disegnare un rettangolo su una bitmap con trasparenza e testo.Come disegnare un rettangolo su un'immagine con trasparenza e testo

Non sono sicuro da dove cominciare. Ho fatto una piccola ricerca ma non riesco a trovare un articolo che mi consenta di aggiungere un rettangolo semitrasparente a un'immagine.

Quello che avrò è un flusso di immagini che devo essere in grado di manipolare.

Qualcuno può indicarmi la direzione giusta per questo?

Un sito con la fonte sarebbe bello visto che non ho mai fatto alcun lavoro GDI prima.

risposta

25

Si può provare qualcosa di simile:

// Load the image (probably from your stream) 
Image image = Image.FromFile(imagePath); 

using (Graphics g = Graphics.FromImage(image)) 
{ 
    // Modify the image using g here... 
    // Create a brush with an alpha value and use the g.FillRectangle function 
} 

image.Save(imageNewPath); 

Edit: il codice per creare una semi trasparenza grigia pennello

Color customColor = Color.FromArgb(50, Color.Gray); 
SolidBrush shadowBrush = new SolidBrush(customColor); 
g.FillRectangles(shadowBrush, new RectangleF[]{rectFToFill}); 
+0

+1 Nizza e conciso –

+0

Impressionante. Grazie. – griegs

4

Per iniziare è necessario creare un contesto grafico dall'immagine che vuoi modificare. See here.

// Create image. 
Image imageFile = Image.FromFile("SampImag.bmp"); 

// Create graphics object for alteration. 
Graphics newGraphics = Graphics.FromImage(imageFile); 

Una volta che avete Graphics oggetto è possibile utilizzare i suoi molti metodi per disegnare sull'immagine. Nell'esempio si utilizzerà il metodo DrawRectangle con un colore ARGB per creare un rettangolo semitrasparente sull'immagine.

È quindi possibile visualizzare l'immagine su un controllo dello schermo o salvarla sul disco.

+0

+1, giusto, penso di capirlo. Grazie. – griegs

Problemi correlati