Código
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!!!
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009