Buscar

Pegar tipo da imagem de um TPicure

Código

Andei quebrando tanto a cabeça para colocar essa função no editor visual de websites que criei, que resolvi ajudar quem tambem precisa.
  Viva o código livre!!!




  Function TipoDaImagem(imagem:Timage):string;
var ss: TStringStream;imageStream:TMemorystream;
var temp:string;
Begin //

imagestream:=TMemorystream.Create;
try

imagem.Picture.Graphic.SaveToStream(imagestream);


ImageStream.Position := 0;
ss := TStringStream.Create('');
ss.CopyFrom(ImageStream,5);
temp:=Uppercase(ss.DataString);
IF (Ord(ss.DataString[1])=255) and
(Ord(ss.DataString[2])=216) then result:='.JPG'
Else
IF Pos('BM',temp)>0 then Result:='.BMP'
Else
IF Pos('GIF',temp)>0 then Result:='.GIF'
Else
IF Pos('PNG',temp)>0 then Result:='.PNG'
Else
IF (Ord(ss.DataString[1])=215) and
(Ord(ss.DataString[2])=205) and
(Ord(ss.DataString[3])=198) then result:='.WMF'
ELse
IF Pos('X',temp)>0 then Result:='.EMF'
Else

IF (Ord(ss.DataString[1])=0) and
(Ord(ss.DataString[2])=0) then result:='.ICO'
else
IF (Ord(ss.DataString[1])=0) and
(Ord(ss.DataString[2])=1) then result:='.ICO'
Else

Result:='Desconhecido';
    finally
  imagestream.Free;
end;
End;

Exemplo de uso:
coloque um TButton, um TImage e um Opendialog no form. No evento Onclick do Tbutton adicione o seguinte código.

if opendialog1.execute then
begin
image1.picture.loadfromfile(opendialog1.filename);
ShowMessage('Essa imagem é do tipo: '+TipoDaImage(Image1));
end;

Valeu!!!
 

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Imagens
Adicionada dia: 22/06/10
Por: Daniel Melo Alencar
Visualizada: 6716 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009