Вниз
Скачать: CL | DM;

Стандартные графические форматы   Найти похожие ветки 

 
Ega23 ©   (2003-12-09 14:03) [0]

А есть ли какя нибудь функция, которая распознаёт какой графический формат имеет файл. Что-то вроде такого:

type
TGraphicFormat=(gfUnknown, gfBmp, gfJPEG, gfGIF, gfTIFF, ....);

function GetGraphicFormat(const FileName:String):TGraphicFormat;


А то с первыми байтами не очень хочется возится. Да и не знаю я их всех.


 
Ega23 ©   (2003-12-09 15:29) [1]

Вот, наклепал кое-что, если кому интересно:


type
TGraphicFormat=(gfUnknown, gfBmp, gfJPEG, gfGIF, gfTIFF);

function GetGraphicFormat(const FileName:String):TGraphicFormat;
var
Buffer: array[0..2] of Byte;
fs:TFileStream;
begin
Result:=gfUnknown;
try
fs:=TFileStream.Create(FileName,fmOpenRead);
fs.ReadBuffer(Buffer, 3);
if (Buffer[0] = $49) and (Buffer[1] = $49) and (Buffer[2] = $2A) then Result:=gfLTIFF;
if (Buffer[0] = $42) and (Buffer[1] = $4D) then Result:=gfBMP;
if (Buffer[0] = $FF) and (Buffer[1] = $D8) then Result:=gfJPEG;
if (Buffer[0] = $47) and (Buffer[1] = $49) and (Buffer[2] = $46) then Result:=gfGIF;
finally
fs.Free;
end;
end;


 
easy ©   (2003-12-09 15:46) [2]

потрясающе..=)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
1-62010
James1981Bond
2003-12-07 00:19
2003.12.19
Ошибка при работе со свойствами..........


11-61994
FOZi
2003-04-05 07:39
2003.12.19
Многопоточное приложение


3-61966
MakNik
2003-11-26 13:16
2003.12.19
ADOQuery


1-62083
Ega23
2003-12-09 14:03
2003.12.19
Стандартные графические форматы


3-61944
gestern
2003-11-26 19:03
2003.12.19
insert




   Наверх