Ir para conteúdo

POWERED BY:

Arquivado

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

bastard2003

Redimencionar e copiar imagem

Recommended Posts

boa noite amigos do forum! seguinte to com um probleminha... olha so... tenho um projeto q to fazendo agora q é pra desenvolver menus em JS, so que o problema é que eu tenho q copiar a imagem pra uma pasta especifica e redimencionar ela... tipo o cara seleciona uma imagem de 30x30 eu vou redimencionar ela pra 16x16 e salvar ela numa pasta que eu escolher (no caso a mesma pagina que ta o programa), so q isso tudo eu queria fazer no OnExit do edit... agora eu pergunto, TEM COMO FAZER ISSO?!? se alguem puder me ajudar, agradeço

 

Valeu! aguardo respostas! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já que ninguem conseguiu me ajudar.. tive q me virar mesmo... axei algumas coisas na net e apenas modifiquei pra ficar melhor pra mim usar!! segue a função!

Procedure TfrmPrincipal.RedimensionarIMG(ArqOriginal,ArqNovo:String;Largura,Altura:Integer);var  Img1,Img2 : TImage;  JPG: TJPEGImage;  Diretorio: String;begin  //Pega o diretorio a ser salvo  Diretorio := ExtractFileDir(ArqNovo);  //Imagem Original  Img1 := TImage.Create(nil);  Img1.Picture.LoadFromFile(ArqOriginal);  //Imagem Nova  Img2 := TImage.Create(nil);  Img2.Width := Largura;  Img2.Height := Altura;  Img2.Canvas.StretchDraw(Img2.Canvas.ClipRect,Img1.Picture.Graphic);  //Cria em jpg  JPG := TJPEGImage.Create;  JPG.Assign(IMG2.Picture.Graphic);  //Verifica se o diretorio existe, se naõ existir cria  if not DirectoryExists(Diretorio) then    MkDir(Diretorio);  // Salva a imagem no diretorio expecificado  JPG.SaveToFile(ArqNovo);  //Libera as variáveis  Img1.Free;  Img2.Free;  JPG.Free;end;

ai to chamando ela assim:

 

procedure TfrmPrincipal.edtImageExit(Sender: TObject);var   Arquivo, Diretorio: String;begin//Extrai diretorio a onde esta o .exe da aplicaçãoDiretorio := Copy(Application.ExeName,1,LastDelimiter('\',Application.ExeName));//Copia o nome do arquivoArquivo:= ExtractFileName(OpenPicture.FileName);if (edtImage.Text <> '') then   begin   //Chama a função passando os parametro dela... (Origem, destino, largura, altura)   RedimensionarIMG(PChar(OpenPicture.FileName), Pchar(Diretorio) + 'img\' + Arquivo,16,16);   end;

é isso ai galera... se alguem passa pelo mesmo problema que eu... isso deve ajudar!

 

PS: testei com bmp e funcionou normalmente! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá!!!fiz meu uma parte do meu código baseado no exemplo acima... funcionou tudo direito, só que a imagem fica totalmente branco! alguém pode me dizer o que estou errando?desde já grato!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Begin		  Altura:=129;		  Largura:=129;		  Diretorio:=Caminho;		  //Imagem Original		  Img1:=Timage.Create(Nil);		  Img1.Picture.LoadFromFile(ArqOriginal);		  //Imagem Nova		  //Img2:=TImage.Create(Nil);		  // não criei pq já estava na tela...		  Img2.Width:=largura;		  Img2.Height:=Altura;		  Img2.Canvas.StretchDraw(Img2.Canvas.ClipRect,Img1.Picture.Graphic);		  //Cria Jpg		  JPG:=TJPEGImage.Create;		  JPG.Assign(Img2.Picture.Graphic);		  //Salva Imagem		  novonome:= caminho+'small.jpeg';		  Jpg.Savetofile(novonome);		  img2.Picture.LoadFromFile(novonome);		  //Libera Variaveis		  Img1.Free; JPG.Free;		End;

ta confuso ainda... quando começar a funcionar eu dou uma enxugada no código http://forum.imasters.com.br/public/style_emoticons/default/blush.gif rsrs

 

me ajudem por favor

 

o código naum é só isso... mas a outra parte ja ta certa... (ele seleciona, copia, duplica, redimensiona e aparece no campo,, só que fica em branco intende.

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.