Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Manipulando Imagens: Criando Thumbnails e Escrevendo Texto, Notas de estudo de Informática

Saiba como manipular imagens, criar thumbnails e escrever texto sobre elas usando o framework asp.net. Este artigo fornece código passo a passo para salvar, manipular e criar thumbnails de imagens, além de explicar como escrever texto sobre elas.

Tipologia: Notas de estudo

2013

Compartilhado em 28/08/2013

Garoto
Garoto 🇪🇸

4.6

(121)

1 / 3

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Manipulando imagens
Publicado em: 18/03/2008
Introdução
Neste artigo veremos como manipular imagens, escrever sobre elas e criar thumbnails de forma
simples utilizando os recursos do framework.
Preparando
Na página Default.aspx vá na Toolbox e na aba Standart e adicione os componentes FileUpload e
LinkButton.
Nas propriedades do LinkButton mude o Text para "Enviar".
Figura 01. Exemplo.
Salvando e criando thumbnail
De um clique duplo sobre o LinkButton que assim irá para a parte onde iremos criar o código.
Para salvar a imagem basta apenas adicionarmos: FileUpload1.SaveAs("caminho_e_nome"),
nesse caso para facilitar, vamos criar uma string para o caminho e nome do arquivo. Então a
ação ficará como na Listagem 01.
string arquivo = Server.MapPath(FileUpload1.FileName);
FileUpload1.SaveAs(arquivo);
Listagem 01. Salvando arquivo
Agora que enviamos a imagem podemos abri-la e trabalhar com o ela o que for necessário, na
parte superior desta página adicione:
using System.Drawing.Imaging;
Ótimo, já enviamos a imagem agora vamos criar a thumbnail, o primeiro passo será abrir a
imagem enviada:
System.Drawing.Image abre_imagem = System.Drawing.Image.FromFile(arquivo); //Abre foto
Agora que ela está aberta podemos ver muitos dados dela, mas no momento só no interessa ver
a altura e largura, para calcular a nova altura e largura proporcionalmente. Eu gosto de criar as
thumbnails com a mesma altura então nesse caso vou deixar a altura máxima com 70px e a
largura calcularemos em função disso, para fazer isso adicione a seguinte linha:
int largura = abre_imagem.Width * 70 / abre_imagem.Height; // calcula largura em proporção
O próximo passo será adicionar os códigos conforme a Listagem 02
System.Drawing.Image.GetThumbnailImageAbort dummyCallBack =
new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);
System.Drawing.Image thumbNailImg =
abre_imagem.GetThumbnailImage(largura, 70, dummyCallBack, IntPtr.Zero);
//dados dentro dos parenteses: largura, altura...
//onde está "thumbnail.jpg" mude para o nome desejad para a thumbnail
thumbNailImg.Save(Server.MapPath("thumbnail.jpg"));
//fechando conexoes
thumbNailImg.Dispose();
abre_imagem.Dispose();
Listagem 02. Trabalhando thumbnail
Para facilitar as explicações sobre a Listagem 02 eu adicionei nela alguns comentários, que
facilitarão a compreenção.
Está quase tudo pronto, agora só falta adicionarmos a função para callback. Você irá adicioná-la
fora da função LinkButton1_Click, o código completo de sua página ficará semelhante a Listagem
03:
pf3

Pré-visualização parcial do texto

Baixe Manipulando Imagens: Criando Thumbnails e Escrevendo Texto e outras Notas de estudo em PDF para Informática, somente na Docsity!

Manipulando imagens

Publicado em: 18/03/

Introdução

Neste artigo veremos como manipular imagens, escrever sobre elas e criar thumbnails de forma simples utilizando os recursos do framework.

Preparando

Na página Default.aspx vá na Toolbox e na aba Standart e adicione os componentes FileUpload e LinkButton. Nas propriedades do LinkButton mude o Text para "Enviar".

Figura 01. Exemplo.

Salvando e criando thumbnail

De um clique duplo sobre o LinkButton que assim irá para a parte onde iremos criar o código. Para salvar a imagem basta apenas adicionarmos: FileUpload1.SaveAs("caminho_e_nome"), nesse caso para facilitar, vamos criar uma string para o caminho e nome do arquivo. Então a ação ficará como na Listagem 01.

string arquivo = Server.MapPath(FileUpload1.FileName); FileUpload1.SaveAs(arquivo); Listagem 01. Salvando arquivo Agora que enviamos a imagem podemos abri-la e trabalhar com o ela o que for necessário, na parte superior desta página adicione: using System.Drawing.Imaging; Ótimo, já enviamos a imagem agora vamos criar a thumbnail, o primeiro passo será abrir a imagem enviada: System.Drawing.Image abre_imagem = System.Drawing.Image.FromFile(arquivo); //Abre foto Agora que ela está aberta podemos ver muitos dados dela, mas no momento só no interessa ver a altura e largura, para calcular a nova altura e largura proporcionalmente. Eu gosto de criar as thumbnails com a mesma altura então nesse caso vou deixar a altura máxima com 70px e a largura calcularemos em função disso, para fazer isso adicione a seguinte linha: int largura = abre_imagem.Width * 70 / abre_imagem.Height; // calcula largura em proporção O próximo passo será adicionar os códigos conforme a Listagem 02 System.Drawing.Image.GetThumbnailImageAbort dummyCallBack = new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback); System.Drawing.Image thumbNailImg = abre_imagem.GetThumbnailImage(largura, 70, dummyCallBack, IntPtr.Zero); //dados dentro dos parenteses: largura, altura... //onde está "thumbnail.jpg" mude para o nome desejad para a thumbnail thumbNailImg.Save(Server.MapPath("thumbnail.jpg"));

//fechando conexoes thumbNailImg.Dispose(); abre_imagem.Dispose(); Listagem 02. Trabalhando thumbnail Para facilitar as explicações sobre a Listagem 02 eu adicionei nela alguns comentários, que facilitarão a compreenção. Está quase tudo pronto, agora só falta adicionarmos a função para callback. Você irá adicioná-la fora da função LinkButton1_Click, o código completo de sua página ficará semelhante a Listagem 03:

using System.Drawing.Imaging; using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) {

} protected void LinkButton1_Click(object sender, EventArgs e) { string arquivo = Server.MapPath(FileUpload1.FileName); FileUpload1.SaveAs(arquivo);

//Abre foto System.Drawing.Image abre_imagem = System.Drawing.Image.FromFile(arquivo);

// calcula largura em proporção int largura = abre_imagem.Width * 70 / abre_imagem.Height;

System.Drawing.Image.GetThumbnailImageAbort dummyCallBack = new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback); System.Drawing.Image thumbNailImg = abre_imagem.GetThumbnailImage(largura, 70, dummyCallBack, IntPtr.Zero); //dados dentro dos parenteses: largura, altura... thumbNailImg.Save(Server.MapPath("thumbnail.jpg")); //salva thumbnail

//fechando conexoes thumbNailImg.Dispose(); abre_imagem.Dispose();

public bool ThumbnailCallback() { return false; } } Listagem 03. Página completa. Escrevendo sobre imagens

Para escrever sobre a imagem é simples, adicione na parte superior de sua página: using System.Drawing; using System.Drawing.Drawing2D; Para facilitar o entendimento, abaixo irei mostrar o código completo e comentá-lo. O código deverá ser adicionado depois da linha onde fechamos os objetos na criação das thumbnails. Bitmap bmp = new Bitmap(arquivo); //Criando bitmap do arquivo Graphics g = Graphics.FromImage(bmp); //Criando gráfico do arquivo

Rectangle treta = new Rectangle(0, bmp.Height / 2, bmp.Width, bmp.Height); //criando retangulo, os dados são na seguinte ordem: //onde começa o texto(coloquei zero pois mando alinha ao centro na função abaixo), //altura do texto(coloquei no centro da imagem), //largura do retangulo(a mesma largura da imagem),