| | |
| Stránka: 1 z 1
| [ Príspevkov: 20 ] | |
Autor | Správa |
---|
Registrovaný: 26.02.08 Prihlásený: 24.05.13 Príspevky: 372 Témy: 66 Bydlisko: Nové Zámky |
cafko potrebujem poradit.. chcem spravit upload obrazku kde by bola kontrolovana velkost obrazku a potom nasledne porovnavana...ak je napr obrazok vacsi ako 500x500 tak by sa automaticky prisposobil tej velkosti...cize by sa zmensil na rozmery 500x500... netusim vobec ako nato...
|
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal emer: 24.07.2008 21:11 | |
|
Kód: list($sirka,$vyska)=getimagesize($obrazok); if($sirka > 500){$nova_sirka = 500;} if($vyska > 500){$nova_vyska = 500;} $tmp=imagecreatetruecolor($nova_sirka,$nova_vyska); imagecopyresampled($tmp,$src,0,0,0,0,$nova_sirka,$nova_vyska,$sirka,$vyska); ostatné už máš, nie?
btw, potom môže byť obrázok defomrovaný, napr. keď uploadneš obr. 1000×600 a zmení sa ti na 500×500, iste si vieš predstaviť, ako to môže vyzerať
si prečítaj toto http://www.inet.sk/clanok/4934/praca-s- ... i-obrazkov
_________________ Sorry za prelkepy |
|
Registrovaný: 01.01.06 Prihlásený: 25.12.21 Príspevky: 366 Témy: 47 Bydlisko: TT | Napísal jaji: 24.07.2008 21:23 | |
|
popr. to mozes menit percentualne, tak aby 1 okraj mal 500 px a druhy proporcionalne.
_________________ He who laughs last has not yet heard the bad news.
-- Bertolt Brecht
medicine student |
|
Registrovaný: 26.02.08 Prihlásený: 24.05.13 Príspevky: 372 Témy: 66 Bydlisko: Nové Zámky |
hmmm to ma nenapadlo s tou danov velkostou ze to bude deformovane...mno lebo idem robit upload avataru na stranku a chcem predist aby si niekto uploadol avatar velkosti napr 300x200 aby to neroztahovalo stranku...ako som nedavno videl na jednej stranke...chcem nech je fixna sirka 120px nejake napady???ale zas nechcem aby bol obrazok deformovany takze fixnu vysku nemozem dat...a to s tym percentualnym menenim mi nieje uplne jasne...nejake napady???
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
no sak ked si stanovis fixnu sirku, vypocitas si podiel odoslanej sirky obrazku a tejto fixnej hodnoty a prepocitas podla toho novu vysku obrazka... jednoducha rovnica...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 26.02.08 Prihlásený: 24.05.13 Príspevky: 372 Témy: 66 Bydlisko: Nové Zámky |
hmmm a ako by to malo vyzerat v praxi...lebo akosi si to neviem predstavit...
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 |
ako stenley vraví tak to robím aj ja ...
zoberieš veľký obrázok napr 800 x 600
dáš 800 : 500 = výjde ti nejak 1,6 pre istotu to zaokruhliš na druhé desatinné (alebo na ktoré chceš) miesto no a teraz dáš 600 : 1,6 = 375
rozmery nového obrázka sú 500 x 375
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
ak ma stanovene urcite maximalne rozmery obrazka, ktore nemozu byt prekrocene, tak tento jednoduchy vypocet velmi nestaci, lebo ked mas dany max rozmer trebars tych 300x200 a obrazok ma rozmery 310x310, 290x600, 600x1000, pripadne naopak, tak sa s tym treba este trosku pohrat, aby boli rozmery uploadnuteho obrazku naozaj maximalne 300x200...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 Bydlisko: Nové Zámky |
najprv si musis zistit,ktora strana je vacsia:
Kód: if($sirka>=$vyska) { $koeficient = $sirka / 300; } else { $koeficient = $vyska / 200; }
doratas si druhu stranu.. osetris nejake male odchylky: Kód: if($sirkaVyratana>$maximalnaSirka) { $sirkaVyratana = $maximalnaSirka; }
a je to....
podla mna to tak staci.. tam budes mat odchylku minimalnu, podla toho, ako zaokruhlis
_________________ "It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď |
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 |
stenley píše: ak ma stanovene urcite maximalne rozmery obrazka, ktore nemozu byt prekrocene, tak tento jednoduchy vypocet velmi nestaci, lebo ked mas dany max rozmer trebars tych 300x200 a obrazok ma rozmery 310x310, 290x600, 600x1000, pripadne naopak, tak sa s tym treba este trosku pohrat, aby boli rozmery uploadnuteho obrazku naozaj maximalne 300x200...
nie lebo ty si stanovíš jednu stranu (napr. chceš obrázky s výškou 200px a šírkaťa neujíma ...) ... aby sa ti zachoval pomer ... ale dalo by sa tak že by si zisťoavl jednu stranu (väčšiu) a podľa toho by si preratával ...
|
|
Registrovaný: 09.07.08 Prihlásený: 17.01.15 Príspevky: 1585 Témy: 96 |
Ja som to vyriešil tak, že mi to vypočíta nové rozmery podľa jedného pravidla (aby sadla výška), potom podmienka, že ak to furt nesedí, tak podľa druhého pravidla to ešte zmenší
_________________ neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to! |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
Tominator píše: nie lebo ty si stanovíš jednu stranu (napr. chceš obrázky s výškou 200px a šírkaťa neujíma ...) ... aby sa ti zachoval pomer ... ale dalo by sa tak že by si zisťoavl jednu stranu (väčšiu) a podľa toho by si preratával ...
vyska ta praveze zaujima, lebo co ak bude ta vyska, co si dostal zmensenim stale vacsia ako maximalne dovolena? ale v podstate princip, co dal BS, je spravny...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 Bydlisko: Nové Zámky |
stenley píše: ale v podstate princip, co dal BS, je spravny...
jj, uz som to tak pouzival a funguje to dobre... samozrejme mam tam este zopar osetreni...
_________________ "It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď |
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 |
stenley píše: vyska ta praveze zaujima, lebo co ak bude ta vyska, co si dostal zmensenim stale vacsia ako maximalne dovolena? ale v podstate princip, co dal BS, je spravny...
čo to je za sprostosť?
výška_stará : výška_nová = pomer
šírka_stará x pomer = výška_nová
nová výška bude fixná dajme tomu 500 vždy bude mať nový obrázok výšku 500px aj keby lietal vzducholoďou ...
a rozmery nového obrázka sú 500 x [vypočítana šírka] teda šírka_nová
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
ok, nepochopili sme sa, ale aj tak v tom tvojom vzorci nikde nevidim vypocitanu hodnotu pre šírka_nová (vsade mas len šírka_stará)
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 |
aha hej sorry 2. riadok vzorca
šírka_stará : pomer = šírka_nová
teda:
výška_stará : výška_nová = pomer
šírka_stará : pomer = šírka_nová
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
ok, tak ti dam priklad s pouzitim tvojho vzorca...
max dovolene rozmery (sirka x vyska): 500x200
rozmery obrazka (sirka x vyska): 1500x300
výška_stará : výška_nová = pomer
šírka_stará : pomer = šírka_nová
-----------------------------------------
300 : 200 = pomer
1500 : (3/2) = šírka_nová
-----------------------------------------
šírka_nová = 1000, co vsak nie je <= ako maximalna dovolena sirka
Naposledy upravil stenley dňa 25.07.2008 16:54, celkovo upravené 1
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 |
jasne ... to je pravda ... ale ide o to že chceš zachovať pomer strán a chceš iba jednu fixnú ... potom by bolo treba zistiť ktorá je väčšia ...
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
sak ale o tom sa tu uz 2 strany bavime, ze treba zachovat pomer stran, cize ked si urcis velkost jednej strany na konstantu, tak podla nej musis vypocitat druhu stranu, tzn. pomer zostane zachovaly, ale sucasne musi byt splnena podmienka pre maximalne rozmery obrazka... to sa ti tu snazim vysvetlit, ze tvoj sposob toto nezarucuje a ty sa tu rozculujes, ze co to trepem... najskor si treba veci overit a az potom sa "bit" za svoje tvrdenie...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
| Stránka: 1 z 1
| [ Príspevkov: 20 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|