Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP: GD täytä neliö kuvalla

joah [03.11.2013 12:56:09]

#

Hei!

Millä koodinpätkällä saisin laitettua kuvan neliön sisälle, vai onko tälle jokin oma funktio, jota en huomannut php.netissä? Eli periaatteessa normaali neliö, joka tehdään imagerectangle-funktiolla, ja se täytettäisiin annetulla kuvalla. Kuvan pitäisi mahduttaa kuvaan, eli jos neliö on vaikka 100 x 50 px ja kuva 50 x 25 px, pitäisi sen venyttää kuva (kyllä, laatu on shaibaa, mutta haluan näin kuitenkin). Ja jos kuva on vaikka (neliön koko sama kuin äsken) 500 x 600 px, pitäisi sen pienentyä laatikon sisään.

Millä tämän siis saisi toteutettua?

PS. Käytän siis PHP:n GD:tä.

Metabolix [03.11.2013 15:51:16]

#

Voit piirtää kuvan toiseen kuvaan funktiolla imagecopyresized (huonompi laatu) tai imagecopyresampled (parempi laatu).

joah [03.11.2013 16:17:44]

#

Hmm... Mites tuon voisi toteuttaa? En ole nyt tietokoneella, ja en muutenkaan oikeen keksi... Olisiko esimerkki mahdollinen?

Metabolix [03.11.2013 16:29:55]

#

En nyt ymmärrä, mitä ”toteuttamista” siinä on. Mainitsemillani funktioilla voi tehdä tasan yhden asian: piirtää kuvasta toiseen. Parametritkin ovat täysin selvät: kaksi kuvaa ja kaksi nelikulmiota, siis kohdekuva ja -alue ja lähdekuva ja -alue.

$a = imagecreatefromjpeg("tausta.jpg");
$b = imagecreatefromjpeg("pikkukuva.jpg");
list($x, $y, $w, $h) = array(10, 20, 50, 60);
imagecopyresampled($a, $b, $x, $y, 0, 0, $w, $h, imagesx($b), imagesy($b));

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta