Tuesday, August 08, 2006

Desenhar atraves de GDI um SMILE

Pois é o ASP.net e uma ferramenta tao pratica que todos os dias uma pessoa aprende sempre coisas novas, nunca podemos dizer que ja sabemos tudo, porque os utilizadores encontram sempre maneiras de complicar a vida, devemos ter a resposta, sim claro... com ajuda do msdn2 e um pouco de arte conseguimos fazer tudo.

criar a class onde sera desenhado o smile.

Imports System.Web
Imports System.Drawing
Imports System.Drawing.Text
Imports System.Drawing.Imaging
Imports System
Namespace imagem
Public Class novaimagem
Implements IHttpHandler
Public ReadOnly Property IsReusable() As Boolean _
Implements IHttpHandler.IsReusable
Get
Return True
End Get
End Property
Public Sub ProcessRequest(ByVal context As HttpContext) _
Implements IHttpHandler.ProcessRequest
Dim bm As New Bitmap(101, 101)
Dim gr As Graphics = Graphics.FromImage(bm)
gr.FillEllipse(Brushes.Yellow, 0, 0, 99, 99)
gr.DrawEllipse(Pens.Black, 0, 0, 99, 99)
gr.DrawArc(Pens.Black, 20, 20, 60, 60, 0, 180)
gr.FillEllipse(Brushes.Black, 40, 40, 20, 25)
gr.FillEllipse(Brushes.White, 25, 15, 20, 25)
gr.DrawEllipse(Pens.Black, 25, 15, 20, 25)
gr.FillEllipse(Brushes.Black, 35, 20, 10, 15)
gr.FillEllipse(Brushes.White, 55, 15, 20, 25)
gr.DrawEllipse(Pens.Black, 55, 15, 20, 25)
gr.FillEllipse(Brushes.Black, 65, 20, 10, 15)
context.Response.ContentType = "image/GIF"
bm.Save(context.Response.OutputStream, ImageFormat.Gif)
End Sub
End Class
End Namespace

Inserir no Web.config:
system.web>
httpHandlers>
add verb="*" path="Imagem.ashx" type="imagem.novaimagem"/>
/httpHandlers>


Sendo chamado pelo Botao:

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Image1.ImageUrl = String.Concat("Imagem.ashx")
End Sub

Depois de clicar no botao ira aparecer um smile :) :).
Post a Comment