Elikkä olen ollut varmaankin kuollut kun joku koetti kertoa php:n kuva-funktioista, mutta onko PHP:llä mitenkään mahdollista liittää kuvia toisiinsa yhdeksi kuvaksi?
Tarkoitan esim... jonkin turvallisuuskoodin tekemistä vaikkapa rekisteröinnissä, jolla varmistetaan, ettei rekkaaja ole kone tai scripti, vaan oikea ihminen. Minulla on kansiossa kuvia yhdellä fontilla kirjain kirjaimelta tyyliin ("d.jpg" sisältää a:n, "e.jpg" sisältää b:n jne.), jos minulla on jossain arvossa laitettu kirjainrykelmä, vaikka "pekka rulettaa!" (vaikkei ihan turvallisuuskoodista menekkään) niin käyttäjä saisi eteensä yhden kokonaisen kuvan, jossa lukee fontillani "pekka rulettaa!".
Onnistuisihan tuo vaikkapa tekstinä, mutta... äh, mitä minä teille selitän, voisiko vain joku kertoa, onko mahdollista ja jos on, miten?
Kuvia voi yhdistellä vaikka imagecopy-funktiolla. Nokkela ohjelmoija tosin kiertää tuommoisen suojauksen tunnistamalla kirjaimet kuvan pikseleistä.
No lähinnä oli ideana antaa käyttäjien tehdä omia e-kortteja tms. Kun on niin uutta että voi tehdä oman tervehdyksen anopille kaikkien vihaaman portaalin omalla logofontilla... käytin turvallisuuskoodia lähinnä esimerkkinä.
Miten tuo imagecopy toimii käytännössä? Ja kiitos suomena, eikä mitään php.net...
Luetaan vaan sitä manuaalia, niinku muutki: https://www.php.net/manual/fi/function.
No tässä tulee esimerkki:
<?php // kuva, jota kopioidaan $pikku = imagecreatefrompng("lahja.png"); // varsinainen kuva $kuva = imagecreate(320, 200); // taustaväri $valkoinen = imagecolorallocate($kuva, 255, 255, 255); // kopioidaan pikkukuvaa satunnaisiin kohtiin for ($i = 0; $i < 15; $i++) { imagecopy($kuva, $pikku, rand(10, 310), rand(10, 190), 0, 0, 16, 16); } // lähetetään kuva selaimelle header("Content-type: image/png"); imagepng($kuva); ?>
Parametrit ovat järjestyksessä kohdekuva, lähdekuva, piirtokohta (x ja y), kopiointikohta (x ja y) ja leveys ja korkeus.
Kuvat:
http://koti.mbnet.fi/pllk/muut/lahja.png
http://koti.mbnet.fi/pllk/muut/imagecopy.php.png
Testaus:
http://koti.mbnet.fi/pllk/muut/imagecopy.php
Heh... jos tuon PHP:n saisi tekemään mappeja jotenkin, ja renderöimään tuollaisen kuvan heti kun edellinen on valmis, niin siitä saisi hyvän pelin: "Kerää kaikki lahjat ennen kuin aika loppuu!".
Kai sen voi tehä Flashillä, Javalla, C:llä tai jollain...
Mut kuitenkin, kiitos.
Aihe on jo aika vanha, joten et voi enää vastata siihen.