می بخشید می تونید بهم کدی بدید که متوجه بشه فایل gif هست یا jpg؟ در سایتی که کد رو برداشتم کد برای gif و jpeg جدا بود.چطور از کد gif تونستم برای به دست اوردن ابعاد استفاده کنم؟
علاوه بر اینکه کد بالا فکر کنم خیلی کند باشه.کد رو که می بینم هیچ ضرورتی برای خوندن همه اطلاعات فایل نمی بینم.به نظرم فقط باید ده بایت خونده بشه نه اینکه اندازه فایل رو به دست بیاریم و همه اش رو لود کنیم.
و ساده بودن کد که اطلاعات طول و عرض در بایت خاصی باشه برام مشکوکه.کسی در این زمینه اطلاعاتی داره؟
کد رو اینطور تغییر دادم باز جواب داد.ممکنه ببینید اشکالی نداشته باشه؟
Procedure GetGifSize(const sGIFFile: string; var width, height: Word);
function GetWH(a: array of byte): boolean;
begin
Result := (a[1] = $47) and (a[2] = $49) and (a[3] = $46); //'GIF' Signature
width := a[8] * 256 + a[7];
height := a[10] * 256 + a[9];
end;
var
f: file;
a: array of byte;
begin
assignfile(f,sGIFFile);
reset(f, 1);
setlength(a, 10);
blockread(f, a[1], 10);
if GetWH(a)=false then
ShowMessage('Bad Gif File!');
closefile(f);
end;