Zmensenie obrazku – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Zmensenie obrazku – PHP – Fórum – Programujte.comZmensenie obrazku – PHP – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
nord0
Návštěvník
20. 2. 2017   #1
-
0
-

Zdravim vsetkych,mam problem so zmensenim obrazkov. Viem vyrezat cast obrazku ale ak ho chcem cely zmensit tak je to problem. Priklad, mam obrazok 800*480. Chcem mat z neho stvorec 250*250 ale nechcem stratit ani kusok obrazka. Tak by som ho chcel zmensit nasledujucim sposobom:
 

Zoberiem roh obrazka (pravy dolny pre predstavu), a bude ho tahat smerom ku protilahlemu rohu pokial dlhsia strana obrazka nebude mat velkost aku potrebujem, Presne ako ked zmensujeme obrazok v nejakom editore pomocou mysi. Takto zmenseny obrazok si uz len vlozim do prazdneho obrazka presne do stredu, teda stred zmenseneho na stred do ktoreho vkladam.. 

Je na to nejaka funkcia ? pripadne vedeli by ste mi poradit ako zacat. Dakujem za kazdu odpoved :)

Nahlásit jako SPAM
IP: 158.193.99.–
gna
~ Anonymní uživatel
1182 příspěvků
20. 2. 2017   #2
-
+1
-
Zajímavé

To je často řešená věc, snadno bys to vygooglil. Stačí si uvědomit, že chceš zachovat poměr stran. Můžeš na to jít dvěma způsoby, v podstatě je to to samé. Zjednodušeně:

Když původní výška byla dvojnásobek původní šířky, tak nová výška bude dvojnásobek nové šířky (a/nebo naopak).
Nebo když jsem zdvojnásobil šířku, tak zdvojnásobím i výšku (a/nebo naopak). Asi si to dovedeš představit.

Výsledek by mohl vypadat takhle:

$old_w = 800;
$old_h = 480;
$max_w = 250;
$max_h = 250;
$ratio = min($max_w / $old_w, $max_h / $old_h);
$new_w = $old_w * $ratio;
$new_h = $old_h * $ratio;
Nahlásit jako SPAM
IP: 213.211.51.–
peter
~ Anonymní uživatel
3605 příspěvků
20. 2. 2017   #3
-
+1
-
Zajímavé

Nechce se mi to cist cele. Zalezi na tom, ceho chces docilit.
800 x 480 -> 250 x 250
800 x 480 -> orez pres stred 800 x 800 -> zmenseni 250 x 250
800 x 480 -> orez pres stred 480 x 480 -> zmenseni 250 x 250

css3
background-image: url('https://plone.slu.cz/fpf/cz/clanky/cl_soubory/fpf_logo_new/@@images/image/siroky'); width: 250px; height: 250px; background-position: 50% 50%; background-size: cover;

pozice stredu: background-position: 50% 50%; klidne muzou byt pixely, kdyz vis

Nahlásit jako SPAM
IP: 2001:718:2601:26c:b9d1:be...–
nord0
Návštěvník
20. 2. 2017   #4
-
0
-

#2 gna
Perfektne presne takuto radu som potreboval :) mal som problem si to predstavit poriadne, uz mi to ide.

Pouzil som funkciu  imagecopyresampled()

Dakujem

Nahlásit jako SPAM
IP: 158.193.99.–
nord0
Návštěvník
20. 2. 2017   #5
-
0
-

#4 nord 

$pomer = $x / $y;          // povodny obrazok
$pomer1 = $max_x / $max_y; // rozmer ktory chcem

if ($pomer > $pomer1) // vysoke
{           
    imagecopyresampled($imgres, $img, 0, round(($max_y - ($max_x / $pomer)) / 2), 0, 0, $max_x, $max_x / $pomer, $x, $y);
}
else // siroke
{
    imagecopyresampled($imgres, $img,round(($max_y - ($max_x * $pomer)) / 2),0, 0, 0, $max_x * $pomer, $max_x, $x, $y);
}
Nahlásit jako SPAM
IP: 158.193.99.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 21 hostů

Podobná vlákna

Zmenšenie obrázku — založil Michal115

Zmenšenie obrázka — založil Michal115

Pozice obrazku — založil Daniel

Více obrázků — založil Michal

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý