Autor Zpráva
anonymní_
Profil *
Dobrý den,

řeším trochu "matematický" problém, a potřeboval bych poradit.

Vytvářím editor pro ořez obrázku ale zasekl jsem se u jedné věci.
Mám dva obrázky:
1. S plnou (původní) velikosti (dejme tomu 1920x1080)
2. Zmenšený (ve stejném poměru stran), aby se s ním na stránce dobře pracovalo, a nenačítal se dlouho (dejme tomu 192x108)

Do editoru tedy vložím zmenšený obrázek, ten uživatel ořeže, a editor vrátí následující data: width, height, x, y. Tedy šířku, výšku, posun od levého okraje a posun od horního okraje, z oříznutého obrázku.

Já bych potřeboval pomocí těchto parametrů oříznout ten první (plný) obrázek.

Ořez provádím v PHP (framework Nette), cca takto:
$image->crop($left, $top, $width, $height);
Poradíte mi prosím někdo jak na to?

Děkuji všem za odpovědi.
RastyAmateur
Profil
anonymní:
Ten framework nepoužívám, ale pokusím se pomoci.

Pokud to dobře chápu, tak uživatel vybere část v malém obrázku a ty to chceš oříznout v tom velkém... V tom případě bych asi vše počítal (v tomto konkrétním příkladě) *10. Jestliže malý obrázek je 10x zmenšený, pak je to jednoduché. Vše *10. Nevím, jestli jsem to dostatečně vysvětlil... Prostě bod x na velkém obrázku dostaneš 10*x (; x z malého obrázku). 10* je to proto, protože ten velký obrázek je vůči tomu malému 10x větší.

Typoval bych, že v tomto konkrétním příkladu by šlo $image->crop($left*10, $top*10, $width*10, $height*10);

Je to alespoň trochu jasné?
anonymní_
Profil *
Díky za odpověď!

Rozumím. Bohužel, ten obrázek není vždy 10x zmenšený. Ten systém má nějaké minimální rozměry toho menšího obrázku, a proto se ne-vždy zmenší 10x, ale třeba někdy jen 1.2x, apod.)
RastyAmateur
Profil
anonymní:
Nechápu, kdy je o kolik zmenšený, ale to nevadí... Pokud vydělíš starou šířku obrázku novou šířkou obrázku (šířka velkého obrázku : šířka malého obrázku), dostaneš tu konstantu také. Pokud je poměr stále stejný (např. 4:3), stačí ti to vypočítat jen u výšky / jen u šířky. Pokud by poměr nebyl stejný, musel bys to počítat zvlášť.

Je tomu rozumět?
Chamurappi
Profil
Reaguji na anonymního:
Poradíte mi prosím někdo jak na to?
Trojčlenkou. Učí se na ZŠ, jedna z nejtriviálnějších věcí v matematice.
RastyAmateur
Profil
Chamurappi:
Učí se na ZŠ, jedna z nejtriviálnějších věcí v matematice.
Tak to jsem sakra zaostalý :D Pamatuji si, že jsme se ji učili v 6. třídě. Pochopil jsem ten princip až v druhém ročníku gymnázia... :D
anonymní_
Profil *
Chamurappi:
To mě vůbec nenapadlo! Děkuji!

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: