Lo script di oggi sfrutta GDI+ per creare una semplice rating bar, ovvero un'immagine che permetta di visualizzare il voto associato ad un articolo, ad esempio.
La tecnica utilizza è molto semplice e sfrutta la classe Graphics per creare due rettangoli che serviranno da riempimento, uno rosso per il voto ed uno nero per lo sfondo.
In questo esempio i voti sono in base 100, ma con piccoli accorgimenti è possibile variare questa impostazione.
<%@Import namespace="System.Drawing"%> <%@Import namespace="System.Drawing.Imaging"%> <SCRIPT RUNAT="SERVER" LANGUAGE="C#"> private void Page_Load(object sender, System.EventArgs e) { writeBar(Convert.ToInt32(Request["vote"])); } private void writeBar(int vote) { // dimensioni dell'immagine int width = 100; int height = 18; // creo una nuova immagine Bitmap bitmap = new Bitmap(width, height); // oggetto graphics, necessario per manipolare il file Graphics graphics = Graphics.FromImage(bitmap); // colori di riempimento SolidBrush redBrush = new SolidBrush(ColorTranslator.FromHtml("red")); SolidBrush blackBrush = new SolidBrush(ColorTranslator.FromHtml("black")); // disegno il voto graphics.FillRectangle(redBrush, 0, 0, vote, height); // disegno il riempimento graphics.FillRectangle(blackBrush, vote, 0, width, height); // Dispose degli oggetti graphics.Dispose(); redBrush.Dispose(); blackBrush.Dispose(); // cambio di content type Response.Clear(); Response.ContentType = "image/gif"; bitmap.Save(Response.OutputStream, ImageFormat.Gif); Response.End(); } </SCRIPT>
Per visualizzare l'immagine, sulla pagina va inserito qualcosa come:
<img src="rating.aspx?vote=75" />
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.