Mr. Webmaster Menu
  • Home
  • Cerca
  • Didattica
    • A
    • Android
    • Apache
    • Apple
    • ASP
    • ASP.Net
    • C
    • Cloud
    • CMS
    • CSS
    • D
    • Database
    • E
    • Editor
    • G
    • Grafica
    • H
    • Hosting
    • HTML
    • J
    • Java
    • Javascript
    • jQuery
    • L
    • Leggi e Fisco
    • Linux
    • M
    • Mobile
    • MySQL
    • N
    • NET Framework
    • P
    • Photoshop
    • PHP
    • Primi Passi
    • Programmazione
    • R
    • Reti
    • Ruby
    • S
    • Sicurezza
    • Social Media
    • SQL
    • W
    • Web Design
    • Web Marketing
    • Web Server
    • Windows
    • WordPress
    • X
    • XML
    • Di tendenza
    • Android Studio
    • Bootstrap
    • GDPR
    • Hosting Wordpress
    • Node.js
    • Registrazione Domini
  • Download
    • Software
    • Script
    • Plugin CMS
    • Flash Movies
    • Sound Loops
    • Templates
    • Web Grafica
    • Font Gratis
  • Risorse
    • SEO Tools
    • WebApps
  • News
  • Blog
  • Forum
  • Network
    • Toolset.it
    • SiteMarket.it
    • Codalo.it
  • Corsi on-line
Mr. Webmaster → NET Framework → Articoli → C# → Gestire oggetti grafici in C#

Gestire oggetti grafici in C#

  • CommentaScrivi un commento
  • ForumDiscuti sul forum
  • PrecedenteGestire oggetti grafici in C#
    Pagina 2 di 3
  • Pubblicato il
  • 16/02/2010
  • Autore
  • Vincenzo Gaglio

La classe Graphics contiene dei metodi Fill che servono a riempire il contenuto delle forme geometriche. Tali metodi funzionano esattamente come i metodi Draw con la differenza che essi richiedono un'istanza della classe Brush al posto di un'istanza della classe Pen. La classe Brush è astratta quindi è necessario istanziare una delle sue classi figlie.

Per esempio il codice seguente disegna un poligono solido con cinque lati

Graphics gs = this.CreateGraphics();
Brush b = new SolidBrush(Color.Blue);

Point[] punti = new Point[]
{new Point(10, 10),
new Point(10, 100),
new Point(50, 65),
new Point(100, 120),
new Point(105, 40)};
gs.FillPolygon(b, punti);
con il seguente risultato
Chiaramente quelli presentati sono dei semplici esempi di oggetti grafici ma sono molto utili ad intuire le potenzialità di utilizzo delle classi e dei metodi citati e a spingervi ad approfondire tutte le caratteristiche di tali elementi e di quelli che non è stato possibile approfondire.

Continua dopo la pubblicità...

Il .NET Framework fornisce anche diversi strumenti per lavorare su diversi formati di immagine. La classe astratta System.Drawing.Image permette di creare, caricare, modificare, e salvare immagini nei formati BMP, JPG e TIF.

La classe Image è astratta ma è possibile utilizzarla tramite i metodi Image.FromFile (che richiede come parametro il percorso di un file immagine) e Image.FromStream (che richiede come parametro un oggetto System.IO.Stream). E' inoltre possibile utilizzare altre due classi derivate da Image: la classe Bitmap per immagini statiche e la classe Metafile per immagini animate.

Bitmap è la classe più utilizzata per lavorare sulle immagini ed i differenti costruttori permettono di creare un oggetto Bitmap da un file esistente o da uno stream ma anche di creare un'immagine vuota con specifiche altezza e larghezza.

Per visualizzare su un form un'immagine salvata sul disco occorre caricarla tramite il metodo Image.FromFile ed istanziare un controllo PictureBox, settando la proprietà BackgroundImage di quest'ultimo con l'immagine caricata.Per effettuare una prova inseriamo in un form un controllo PictureBox (chiamiamolo testPb) e scriviamo il seguente codice (sempre nell'evento Paint del form)

Image im = Image.FromFile(@"C:\Tramonto.jpg");
testPb.BackgroundImage = im;
il risultato è il seguente (chiaramente dopo esserci assicurati che l'immagine che utilizziamo si trovi nella locazione indicata dal percorso passato al metodo FromFile)
Otterremmo lo stesso risultato se scrivessimo
Bitmap b = new Bitmap(Image.FromFile(@"C:\Tramonto.jpg"));
testPb.BackgroundImage = b;
In alternativa è possibile visualizzare un'immagine come sfondo di un form (quindi senza utilizzare un controllo PictureBox) utilizzando il metodo Graphics.DrawImage. Tale metodo ha trenta overloads attraverso cui si ha a disposizione una grande varietà di opzioni per specificare la posizione e la dimensione dell'immagine.

Con il seguente codice si imposta l'immagine come background del form in modo da coprirlo tutto

Bitmap bm = new Bitmap(@"C:\tramonto.jpg");
Graphics g = this.CreateGraphics();
g.DrawImage(bm, 1, 1, this.Width, this.Height);
con il seguente risultato
Un particolare tipo di immagini sono le icone, immagini di specifiche dimensioni utilizzate da Windows come indicatori visuali. Il .NET Framework fornisce alcune icone di sistema standard (di dimensione 40x40) come membri della classe SystemIcons.

Esempi tipici di icone sono quella di esclamazione, di informazione, di domanda e il modo più semplice di inserire una di esse in un form è quello di utilizzare il metodo Graphics.DrawIcon.

Scrivendo il seguente codice

Graphics g = this.CreateGraphics();
g.DrawIcon(SystemIcons.Error, 40, 40);
il risultato sarà
ovvero la visulizzazione di un'icona di errore (SystemIcons.Error).

I metodi e le classi presentati nel presente articolo sono soltanto alcuni di quelli disponibili nel .NET Framework per la gestione di oggetti grafici. Ci sarebbero tanti altri i temi da approfondire, come evidenziato all'inizio dell'articolo, e probabilmente essi saranno oggetto di articoli futuri.

  • ←
  • 1
  • 2
  • 3

Naviga tra i contenuti

← Gestione e compressione di stream in C#
→ Interoperatività in C#

Commenti

I commenti sono sottoposti alle linee guida di moderazione e prima di essere visibili devono essere approvati da un moderatore.
  • Facebook
  • Twitter
  • Google+
  • YouTube
  • Feed RSS
Frequenta i nostri corsi
  • Corso ASP.NETCorso ASP.NET
    Corso completo per la creazione di applicazioni Web. A partire da 49 €
  • Corso Creare app per Windows PhoneCorso Creare app per Windows Phone
    Sviluppare applicazioni per smartphone basati su Windows Phone. A partire da 49 €
  • Corso VB.NETCorso VB.NET
    Realizzare applicazioni Desktop con Visual Basic .NET. A partire da 49 €
Vedi anche...
  • Gestione dei numeri a virgola mobile in C#
  • Accorgimenti per la scrittura di codice efficiente in C#
  • Ottenere informazioni sull'hard disk tramite WMI in C#
  • Metodi di parsing di date in C#
  • Comprimere e decomprimere file in C#
Guide
  • Guida C#
  • Guida VB.Net
Mr. Webmaster
  • RSS
  • Contattaci
  • Torna su
IKIweb
© 2003 - 2019 Mr. Webmaster
Mr. Webmaster ® è un marchio registrato.
E' vietata ogni forma di riproduzione.
IKIweb Internet Media S.r.l. - P.IVA 02848390122

Parliamo di noi: chi siamo / cronologia
Contatti: pubblicità / contattaci / segnala abusi
Note Legali: condizioni d'uso / privacy / cookie
Altro: sondaggi / feed