Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lívio Bruno

Redimensionar imagem

Recommended Posts

Boa tarde,

 

estou precisando clicar em um botão e o mesmo carregue uma imagem .JPG e redimensione a mesma para altura(Height) = 81 e largura(Width) = 55. Se alguém puder me ajudar eu agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu estou no celular e uma pesquisa no google nao será tão simples. Procure por StreechDraw e como trabalhar com canvas no Delphi.

 

 

Bom... muito obrigado pela dica mas no mesmo dia encontrei a solução para meu problema. Aí vai:

 

 

procedure TForm1.Image1Click(Sender: TObject);

VAR

myrectdestino : TRect;

origem, destino : TJpegimage;

largura, altura : integer;

suavizacao : integer;

bmp : TBitmap;

NomeArquivoOrigem, NomeArquivoDestino : String;

 

begin

 

if OpenPictureDialog1.Execute then

begin

DM.TBL_Clientes.Cancel;

suavizacao := 10;

largura := 55; //Redimensiona Largura

altura := 81; //Redimensiona Altura

NomeArquivoOrigem := (OpenPictureDialog1.FileName);

NomeArquivoDestino := '\CADASTRO\img\' + Edit1.Text + '.jpg';

 

origem := TJpegimage.Create;

origem.LoadFromFile(NomeArquivoOrigem);

 

myrectdestino := rect(0,0,largura,altura);

bmp := TBitmap.Create;

bmp.width := largura;

bmp.height := altura;

 

bmp.Canvas.StretchDraw(myrectdestino,origem);

 

Antialiasing(bmp, myrectdestino,suavizacao,'c:\a.bmp'); //vou salvar em bmp, pq o delphi tem algum problema //para converter direto para jpg, e a imagem fica ruim.

 

destino:= TJpegImage.Create;

 

bmp.LoadFromFile('\CADASTRO\img\a.bmp'); //Diretório aonde a imagem vai ser salva automaticamente

 

destino.Assign(bmp);

destino.SaveToFile(NomeArquivoDestino);

destino.Free;

deletefile('\CADASTRO\img\a.bmp');

 

end;

 

end;

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 22/08/2011 at 08:13, Lívio Bruno disse:

 

 

Bom... muito obrigado pela dica mas no mesmo dia encontrei a solução para meu problema. Aí vai:

 

 

procedure TForm1.Image1Click(Sender: TObject);

VAR

myrectdestino : TRect;

origem, destino : TJpegimage;

largura, altura : integer;

suavizacao : integer;

bmp : TBitmap;

NomeArquivoOrigem, NomeArquivoDestino : String;

 

begin

 

if OpenPictureDialog1.Execute then

begin

DM.TBL_Clientes.Cancel;

suavizacao := 10;

largura := 55; //Redimensiona Largura

altura := 81; //Redimensiona Altura

NomeArquivoOrigem := (OpenPictureDialog1.FileName);

NomeArquivoDestino := '\CADASTRO\img\' + Edit1.Text + '.jpg';

 

origem := TJpegimage.Create;

origem.LoadFromFile(NomeArquivoOrigem);

 

myrectdestino := rect(0,0,largura,altura);

bmp := TBitmap.Create;

bmp.width := largura;

bmp.height := altura;

 

bmp.Canvas.StretchDraw(myrectdestino,origem);

 

Antialiasing(bmp, myrectdestino,suavizacao,'c:\a.bmp'); //vou salvar em bmp, pq o delphi tem algum problema //para converter direto para jpg, e a imagem fica ruim.

 

destino:= TJpegImage.Create;

 

bmp.LoadFromFile('\CADASTRO\img\a.bmp'); //Diretório aonde a imagem vai ser salva automaticamente

 

destino.Assign(bmp);

destino.SaveToFile(NomeArquivoDestino);

destino.Free;

deletefile('\CADASTRO\img\a.bmp');

 

end;

 

end;

 

Olá.

 

Pode me explicar como usar a função " Antialiasing "?

É uma função nativa do Delphi onde devo incluir um uses ou foi uma função definida por você?

Estou tentando reproduzir seu exemplo aqui mas não reconhece  "Antialiasing"

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.