Manipulando imagens

 

Hoje vamos conhecer um pouco das classes System.Drawing e System.Drawing.Imaging que nos permite a manipulação de imagens, será apresentado aqui um exemplo útil usando poucas linhas de código.

 

Pra começar crie um novo web site do tipo asp.net com a linguagem C#.

 

Nosso exemplo sera criar uma imagem permitindo informar texto, fonte, Tamanho da fonte, largura e altura dessa imagem.

 

Vamos lá.

 

Adicionei no form 5 controles TextBox e um Button, ficando da seguinte forma.

 

manimgnetfig01.JPG

 

ID = txtTexto

ID = txtFonte

ID = txtTamanho

ID = txtLargura

ID = txtAltura

 

ID = btnGerar

Text = Gerar Imagem

 

Vamos a codificação do botão btnGerar, no evento click inclua o seguinte código:

protected void btnGerar_Click(object sender, EventArgs e)

    {

//Criando um novo Bitmap que recebe 2 parametros em seu construtor, o primeiro é a largura e o segundo a altura da imagem

 

        Bitmap bmp = new Bitmap(Convert.ToInt32(txtLargura.Text), Convert.ToInt32(txtAltura.Text));

 

       //Aqui instanciamos o objeto SolidBlush que receberá a cor do texto

 

        SolidBrush brush = new SolidBrush(Color.Blue);

        // criamos um outro objeto do tipo grafics que receberá a imagem acima

 

        Graphics g = Graphics.FromImage(bmp);

 

        // Passaremos ao método DrawString alguns parametros para nossa imagem, os ultimos parametros (5,8) são os pontos que você queira que aparecerá o texto

 

        g.DrawString(txtTexto.Text,

        new Font(txtFonte.Text, Convert.ToInt32(txtTamanho.Text)), brush, 5, 8);

        //Modificamos a saída

 

        Response.ContentType = "image/jpeg";

 

        //Salvamos nossa imagem em Stream passando o formato de imagem a ser gerada

 

        bmp.Save(Response.OutputStream, ImageFormat.Jpeg);

 

        //Nunca se esqueça de fechar os objetos

        g.Dispose();

        bmp.Dispose();   

}

 

Compile a aplicação e execute.

 

manimgnetfig02.JPG

 

Resultado

 

manimgnetfig03.JPG

 

Prontinho, como esse simples exemplo temos uma visão bem ampla do que é possível se criar com essas classes, a infinidade de coisas é incrível, explore-as e divirta-se.