Renyo Postado Março 7, 2007 Denunciar Share Postado Março 7, 2007 E aí pessoal boa tarde...é um seguinte eu preciso converter uma imagem de qualquer tipo para JPG...e depois disso jogar para o ClipBoard...ou seja.. preciso converter antes de jogar para o ClipBoard...bem eu acho....como fazer, thank's? :rolleyes: Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Março 9, 2007 Denunciar Share Postado Março 9, 2007 Dá para aproveitar um pouco do que utilizei num outro post, ainda estes dias (link), e criar uma nova função para conversão de imagens de um formato para outro. Eu utilizo a unit GraphicEx que possibilita a carga de muitos outros formatos além dos tradicionais (jpg, bmp, ico), então testei com TIF e WMF e funcionou direitinho (teve uma imagem TIF que não consegui abrir, então depende de a classe estar preparada para a versão em questão) - veja se funcionará para o que você precisa.É uma função genérica. Voce passa o path\nome do arquivo da imagem e o resultado (imagem de saída) depende da classe que você passa em DstPic (TBitmap, TJPEGImage - teoricamente poderia ser qualquer classe de imagem descendente de TGraphic):function ConvertImage(SrcName :string; DstPic :TGraphic) :boolean; var Picture :TPicture; ImageBMP :TBitmap; begin Result := False; // Criamos um TPicture para ler "virtualmente" qualquer tipo de imagem Picture := TPicture.Create; try // Carregamos a imagem a partir do arquivo indicado em SrcName Picture.LoadFromFile(SrcName); // O tipo TBitmap, aparentemente, é intercambiável entre os diversos formatos. // Deste modo, conseguiremos, por exemplo carregar um WMF e gravá-lo em JPG - já // diretamente não seria possível (pelo menos não consegui rsrs) ImageBMP := TBitmap.Create; try // Ajustamos as dimensões do bitmap ImageBMP.Width := Picture.Width; ImageBMP.Height := Picture.Height; // Desenhamos no bitmap a imagem carregada ImageBMP.Canvas.Draw(0, 0, Picture.Graphic); // "Forçamos" a cópia da imagem no bitmap para o tipo de imagem passada // via parâmetro DstPic. A classe TGraphic é base para varias classes // que manipulam imagem - assim, teoricamente, qualquer que seja a classe de // imagem passada como parâmetro, esta receberá a imagem contida na origem DstPic.Assign(ImageBMP); // Indicamos que a conversão transcorreu sem problemas Result := True; finally ImageBMP.Free; end; finally Picture.Free; end; end; Segue um exemplo de uso do que você pediu, com alguns adendos apenas para mostrar outras manipulações com a imagem (marquei com * o que não lhe interessa ;) ):procedure TForm1.Button3Click(Sender: TObject); var ImageBMP :TBitmap; (*) ImageJpg :TJPEGImage; begin if OpenPictureDialog1.Execute then begin ImageBMP := TBitmap.Create; (*) ImageJpg := TJPEGImage.Create; try if ConvertImage(OpenPictureDialog1.FileName, ImageJpg) then begin // Utilizamos um TImage para mostrar imagem na tela mas não é obrigatório Image1.Picture.Assign(ImageJpg); (*) // Para gravar no disco a imagem convertida para JPG... ImageJpg.SaveToFile('c:\temp\teste.jpg'); (*) // Para gravar no disco como BMP a partir do JPG convertido ImageBMP.Assign(ImageJpg); (*) ImageBMP.SaveToFile('c:\temp\teste.bmp'); (*) // ... // Para copiar para o ClipBoard Clipboard.Assign(ImageJpg); end; finally ImageJpg.Free; ImageBMP.Free; (*) end; end; end;Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Renyo
E aí pessoal boa tarde...
é um seguinte eu preciso converter uma imagem de qualquer tipo para JPG...
e depois disso jogar para o ClipBoard...
ou seja.. preciso converter antes de jogar para o ClipBoard...
bem eu acho....
como fazer, thank's? :rolleyes:
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.