Nejste přihlášen/a.
dobrý den
mám udělaný jeden prográmek k nahravání fotografii na web, který jsem sdědil s jedním webem. Nejspíš ten program je psaný v jazycu Object Pascal v prostředí Delphi, ale to 100% nevím.
Problém je, že program mi schroustá a pošle všechny fotografie na šířku, tzn že všechny fotky na výšku se na webu otočí na šířku. A tak mě napadlo, možná by šlo pro někoho šikovného se do programu dostat a zjistit kde je problem?
Nevim co bych mohl nabidnout za sumu, spiš by to byla debata na soukromé urovni s provizi jakou si řeknete.děkuji za zájemce, kteří by věděli kde je zakopaný pes a rádi by pomohli
zde soubor: nahrajsoubor.cz/...
děkuji
Orientace fotek je zapsaná v exifech, v souboru je fotka uložená na šířku. To se výborně hodí třeba při tisku. (Mám právě v delphi nebo spíš lazarusu, což je jak někdo nazval delphi pro chudé, napsanou aplikaci na tisk fotek. Začlo to tak, že jsem chttěl v linuxu tisknout fotky a nenašel jsem něco, co by fungovalo jako irfanwiev. Tak jsem si napsal jednoúčelový program na tisk fotek. Tak jsem si ho oblíbil, že jsem ho pak přeložil i pro windows, protože netrpí mnoha nectnostmi irfanwiev (třeba si pamatuje nastavení tiskárny a já ho nemusim furt znova dávat), tak ho používám i pro tisk fotek z windowsu, kde jsem dřív používal irfan.)
Tedy najděte si, jak číst exify a tam ta orientace bude. Kdyžtak mám někde nějaký program (jednotku nebo include soubor) napsaný pro delphi, ze kterého to můžete dostat, podívám se po něm, ale neni to zase tak složité, specifikace exifů se dá stáhnout a implementovat to podle ní, no když si vzpomínám, zas tak jednoduché to neni, je potřeba řešit indiány (lidi se nějak nedohodli, jaké indiány pro uložení exifů použít, tak se používají obě možnosti) a podobné věci.
Moje jednotka pro exify, třeba se vám hodí.Je to ale bez záruky, nevím která je to verze, v některých verzích byly nějaké nepatřičnosti, ale orientace se tam zpracovává (řádek cca 580). Je to psané před mnoha lety v pascalu (object pascalu delphi, ale zrovna tady to s objekty nemá nic společného) a od té doby jsem to několikrát upravoval podle toho, co jsem zrovna potřeboval, tohle je jedna z upravených verzí. Jsou tam nějaká volání assembleru, fungují na x86, x86/64 i na arm tam jsem právě čekal problémy, ale fungovalo to i na raspberry (arm).
![]() | exifpom_U.pas | 218.06 kB |
děkuji za tyto informace. Dle vlastnosti jsou fotografie focene na výšku. na výšku mám fotku 3024x4032 (na šířku mam 4032x3024). Takže vyfocena je tak jak jsem ji vyfocenou mít chtěl. Ale ten programek mi tyto fotografie otočí horizontálně. A nejspíše bude to někde v tom programu, že má všechny fotografie otáčet aby výsledně byly horizontálně.
Ty bys dokázal se na to mrknout, pokud nějaké máš základy? děkuji za info
Právě že většina programů ty informace o orientaci fotky čte a fotku správně obrátí. Poslední dobou snad už i malování ve windows. Foťák fotky neobrací, jen do souboru zapíše příznak orientace a fotku uloží normálně. Já jsem právě u svého programu na to rezignoval s tím, že fotka je na šířku, papír v tiskárně je (pro program) na šířku, takže to ničemu nevadí (potom co jsem fotky manuálně otočené (někteří lidi otáčí fotky ne tak, že změní ten jeden bajt s orientací, ale že otočí opravdu tu fotku včetně její rekomprese, takže nějaké další ztráty dat) vytisknul s bílými pruhy, dal jsem i otočení stránky, ale s fotkou nic nedělám). Na ten tvůj program se zkusím podívat, ale zatím mi to píše nějaké chybějící knihovny a neukáže formulář, což by nemuselo být zrovna nutné. Spíš jde o to, jestli to nějak rozklíčuju, jak se ten obrázek posílá, jestli se uploaduje soubor, pak je problém na straně serveru, který orientaci obrázku ignoruje. Každopádně v tom TImage (ImgNahled) by to mělo být vidět jak se ten obrázek načetl, jestli správně nebo ne (mě teda se načítá, jak je uložený v souboru, tedy vždy na šířku). Kdybych moc chtěl, tak můžu z exifů orientaci vyčíst (nebo nechat uživatele ji zadat), ale pro mojí aplkaci to neni potřeba. Takže jsem ani nepátral po tom, jak obrázek uvnitř TImage nebo TPicture (nevim teď který z těch dvou používám) obracet (jasně pixel po pixelu to otočit umim, bylo by to strašně pomalé, to jsem v minulosti už dělal, spíš jestli na to neni nějaká funkce).
Tak jak koukám na ten program, tak mi připadá, že posílá na ftp server soubory podle seznamu sestaveného uživatelem (jestli dobře chápu smysl kódu okolo řádku 235), takže s tím nic neuděláte, to je záležitost serveru, ten dostane přesně to, co je v souboru. Taky se tam vytváří miniatury (cca ř.420) s předponou thumb_ a tam už se něco dělat dá a sice otočit to správně.
pokud jsem pochopil dobře, tak se s tím něco dělat dá nebo neda? ano miniatury jsou pojmenované thumb_
dívám se na FTP do složky, kde to nahralo ty fotky, a je tam
thumb_img_7824.jpg = otočená na šířku
small_img_7824.jpg = otočena na šířku
big_img_7824.jpg = otočena na výšku
img_7824.jpg = otočena na výšku = správně
ta poslední to je original, a ty první tři se zobrazují v rámci nějaké te fotogalerie na webu. Takže originál je OK, ale program nějak uloži ty první 3 verze fotek na šířku (které ořeže, zmenší,...). Ve finále ve fotogalerii ani nevidím tu originálni verzi, pouze ty první 3 varianty (thumb, small, big) takže všechny na šířku
šlo by s tím něco udělat? možná by stačilo říct programu, aby neukazoval big, ale originalni fotku? nevím,... Mám ještě jeden nápad, ale zeptám se abychom tady nezahlcovali forum, mužeme komunikovat nějak soukromě nebo mejlem?
děkuji za rady
Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.
Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.