Até compila, mas quando chega na linha lJpgFile.LoadFromClipboardFormat(lFormat, Clipboard.GetAsHandle(lFormat), 0);
Ocorre uma violação de acesso no endereço, como se ele estivesse tentando copiar algo que não existe, engraçado é que a variavel lformat esta preenchida. Alex ----- Original Message ----- From: Rubem Nascimento da Rocha To: delphi-br@yahoogrupos.com.br Sent: Tuesday, August 26, 2008 4:49 PM Subject: RE: [delphi-br] Emf para Jpg Fiz correções na rotina! { Precisa das units Windows e JPEG } procedure ConvertEmfToJpg(const AMetaFileName: string; AJPegFileName: string); var lMetaFile: TMetaFile; lJpgFile: TJPEGImage; lData: THandle; lHandle: HPALETTE; lFormat: Word; begin if not FileExists(AMetaFileName) then Exit; lMetaFile := TMetaFile.Create; try // Indica que o arquivo é EMF (Enhanced Meta File) lMetaFile.Enhanced := true; // Carrega o arquivo na memória lMetaFile.LoadFromFile(AMetaFileName); // Copia o conteúdo do arquivo para a área de transferência lMetaFile.SaveToClipboardFormat(lFormat, lData, lHandle); Clipboard.SetAsHandle(lData, lHandle); // Cria o JPEG onde o metafile será colado lJpgFile := TJPEGImage.Create; try lJpgFile.LoadFromClipboardFormat( lFormat, Clipboard.GetAsHandle(lFormat), 0); lJpgFile.SaveToFile(AJPEGFileName); finally lJpgFile.Free; end; finally lMetaFile.Free; end; end; Mais uma coisa, faça um uses tb para a unit Clipbrd! Cheque se agora funciona! ________________________________ To: delphi-br@yahoogrupos.com.br From: [EMAIL PROTECTED] Date: Tue, 26 Aug 2008 16:38:19 -0300 Subject: Re: [delphi-br] Emf para Jpg Sim meu amigo, ai que esta o mistério, as duas units estão na USES! mostra seguinte mensagem de erro: Types of actual and formal var parameters must be identical e para na linha lMetaFile.SaveToClipboardFormat(CF_BITMAP, lData, lHandle); Alex ----- Original Message ----- From: Rubem Nascimento da Rocha To: delphi-br@yahoogrupos.com.br Sent: Tuesday, August 26, 2008 4:33 PM Subject: RE: [delphi-br] Emf para Jpg HPALETTE não é um objeto, e sim um tipo de dados definido na unit Windows! Alias, eu coloquei um comentário dizendo que a rotina precisaria de duas units: a Windows e a JPEG! Sds. ________________________________ > To: delphi-br@yahoogrupos.com.br > From: [EMAIL PROTECTED] > Date: Tue, 26 Aug 2008 16:26:05 -0300 > Subject: Re: [delphi-br] Emf para Jpg > > > Amigo, não acha o objeto "hPallete", sabe em qual unit esta?nem na internet eu achei. > > ----- Original Message ----- > From: Rubem Nascimento da Rocha > To: delphi-br@yahoogrupos.com.br > Sent: Tuesday, August 26, 2008 3:24 PM > Subject: RE: [delphi-br] Emf para Jpg > > O Delphi possui suporte para arquivos WMF e EMF através da classe TMetaFile. Criei uma rotina a seguir para fazer essa conversão. > > { Precisa das units Windows e JPEG } > procedure ConvertEmfToJpg(const AMetaFileName: string; AJPegFileName: string); > var > lMetaFile: TMetaFile; > lJpgFile: TJPEGImage; > lData: THandle; > lHandle: hPallete; > begin > if not FileExists(AMetaFileName) then > Exit; > lMetaFile := TMetaFile.Create; > try > // Indica que o arquivo é EMF (Enhanced Meta File) > lMetaFile.Enhanced := true; > > // Carrega o arquivo na memória > lMetaFile.LoadFromFile(AMetaFileName); > > // Copia o conteúdo do arquivo para a área de transferência > lMetaFile.SaveToClipboardFormat(CF_BITMAP, lData, lHandle); > Clipboard.SetAsHandle(lData, lHandle); > > // Cria o JPEG onde o metafile será colado > lJpgFile := TJPEGImage.Create; > try > lJpgFile.LoadFromClipboardFormat(CF_BITMAP, Clipboard.GetAsHandle(CF_BITMAP), 0); > lJpgFile.SaveToFile(AJPEGFileName); > finally > lJpgFile.Free; > end; > finally > lMetaFile.Free; > end; > end; > > Veja se isso te ajuda. Não testei, criei essa rotina apenas com o que eu li a partir do help do Delphi. > > Boa sorte! > Sds. > > ________________________________ > To: delphi-br@yahoogrupos.com.br > From: [EMAIL PROTECTED] > Date: Tue, 26 Aug 2008 14:44:45 -0300 > Subject: [delphi-br] Emf para Jpg > > Pessoal alguem conhece uma forma de converter uma imagem EMF em JPG pelo Delphi?? > > Obrigado. > > Alex > > __________________________________________________________ > Cansado de espaço para só 50 fotos? Conheça o Spaces, o site de relacionamentos com até 6,000 fotos! > http://www.amigosdomessenger.com.br > > __________ Information from ESET NOD32 Antivirus, version of virus signature database 3385 (20080825) __________ > > The message was checked by ESET NOD32 Antivirus. > > http://www.eset.com > > [As partes desta mensagem que não continham texto foram removidas] > > > __________________________________________________________ Instale a Barra de Ferramentas com Desktop Search e ganhe EMOTICONS para o Messenger! É GRÁTIS! http://www.msn.com.br/emoticonpack __________ Information from ESET NOD32 Antivirus, version of virus signature database 3385 (20080825) __________ The message was checked by ESET NOD32 Antivirus. http://www.eset.com [As partes desta mensagem que não continham texto foram removidas] __________________________________________________________ Cansado de espaço para só 50 fotos? Conheça o Spaces, o site de relacionamentos com até 6,000 fotos! http://www.amigosdomessenger.com.br __________ Information from ESET NOD32 Antivirus, version of virus signature database 3385 (20080825) __________ The message was checked by ESET NOD32 Antivirus. http://www.eset.com [As partes desta mensagem que não continham texto foram removidas]