
jak poznat obrázek JPEG
Ahoj,
jak se dá v Delphi poznat, že v zadaném souboru s příponou .jpeg, .jpg je skutečně obrázek JPEG a ne třeba přejmenovaný .doc? Má JPEG nějakou standardní hlavičku?
Díky za radu
Ahoj,
jak se dá v Delphi poznat, že v zadaném souboru s příponou .jpeg, .jpg je skutečně obrázek JPEG a ne třeba přejmenovaný .doc? Má JPEG nějakou standardní hlavičku?
Díky za radu
Zpět do poradny Odpovědět na původní otázku Nahoru
Podla google jpg nema standardny header. Sklada sa z blokov zacinajucimi markermi (ale len dva byty FFh a typ bloku), ktore tam byt mozu ale nemusia (musia tam byt samozrejme bloky ktore obsahuju data obrazku
)
Nechapem celkom o co ti ide, ved ak by to bol premenovany .doc tak ti to tvoje rutiny/procedury ktore to maju dekodovat nezdekoduju, snad v svojom programe nevolas funkcie ktore spustaju automaticky word :-O
Z našeho IS exportujeme data do externího systému. Součástí dat jsou přílohy - soubory JPEG. Pro export platí několik pravidel
1) soubory jsou ve formátu JPEG
2) velikost souboru nepřesáhne 640x640 bodů
3) celková velikost exportní dávky nepřesáhne 500kB
Podstatný je bod 1, tedy potřebuju otestovat, zda soubor, který uživatel připojil, je skutečně JPEG. Na otestování přípony se spoléhat nemůžu, chtělo by to nějakou důkladnější kontrolu.
Jinak díky za podněty
No, povedal by som ze ak musis testovat aj velkost obrazku (max. 640x640bodov), tak musis zavolat fciu ktora v tom subore najde nejaky header (ci uz JFIF alebo len klasicky) a z neho zisti velkost obrazku, a teda ak ten header najde s nejakymi rozumnymi udajmi sirkaxvyska, tak je to urcite jpeg. Ak fcia vrati nejaky error tak to jpeg nie je. Teda predpokladam ze ta fcia bude podporovat len jpeg-y a nic ine (ziadne bmp apod.), ak pouzijes nejaku univerzalnu fciu aj pre .bmp apod, tak samozrejme tym nezarucis ze to bude jpg.
Rozumím. Jde jen o to, zda existuje nějaká taková už hotová funkce (třeba přímo v Delphi), abych se v tom nemusel šťourat ručně. Vypadá to totiž docela jako lahůdka, a ručně vyzobávat pro všechny možné a nemožné formáty JPEGů se mi to opravdu nechce
Třeba ti pomůže tohle: jpeginfo.html
(dole je odkaz ke stažení)
Možno Ti pomôže toto:
{
JPEG-Errorcodes:
#36 : m:=m+'Output file write error --- out of disk space?';
#51 = JERR_NO_QUANT_TABLE: Quantization table 0x%02x was not defined
#52 : File is not a JPEG-File (for example if you try to read a GIF as a JPG)
#53 = JERR_OUT_OF_MEMORY: Insufficient memory (case %d)
#60 : JPEG file is incomplete
#67 : JPEG file is incomplete (like #60 - don't know where the difference
How to trap a JPEG-Error?
}
Pozerám, že občas mi to myslí dobre.

Ahoj,
moc díky všem za tipy, vypadá to na ten TJPEGImage.
Vaše Žlababa
Stahni si "Dump JPEG marker information" zde:
15260.htm
po par pokusech typu:
JPEGDUMP.EXE -v -v OBRAZEK.JPG
zjistis, kde co v souborech hledat
nebo mi napis na skype
zdenek.kubena