Autor Zpráva
blahapet
Profil
Ahoj, zajímalo by mne, jestli lze a popř. jak, skrz GD knihovnu sloučit dva obrázky do jednoho jako vrstvy ve Photoshopu.

Díky moc za odpovědi!
Tomášeek
Profil
blahapet:
Hmmm... jak se dotaz liší od Jak udělat technicky podobný web na potisk triček
blahapet
Profil
To je sice pravda, že jsem to tam psal, ale že se to týká přímo PHP, napsal jsem to přímo sem znovu, což se tedy omlouvám. Konkrétně nevím, kterou fci na to použít, resp. postup.
Kcko
Profil
blahapet:
Musí to být nutně GD? Lépe se mi osvědčil imagemagick


$mask = new Imagick(__DIR__ .'/_shapes/shape-third-center.png');

$im = new Imagick($image);
$d  = $mask->getImageGeometry(); 

$im->resizeImage($d['width'], $d['height'], Imagick::FILTER_LANCZOS, 1);

$combined = $im->appendImages(false);
$combined->setImageFormat("png");

$combined->compositeImage($mask, Imagick::COMPOSITE_COPYOPACITY, 0, 0);

$combined->writeImage(__DIR__ .'/imagecache/' . $flag . '/'.$imageId.'.png');

header('Content-Type: image/png');
echo $combined;
blahapet
Profil
Díky moc, zkusím to.
M4n
Profil *
Kcko:
Lépe se mi osvědčil imagemagick
Ten je sice lepší, ale zase není běžnou a výchozí součástí PHP.

V GD jdou obrázky slučovat funkcí imagecopy. Pozor také na správný režim alpha-blendingu (a alpha kanálu vůbec) při této operaci (viz funkce imagealphablending a imagesavealpha), pokud by měla být uvažována a zachována průsvitnost.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0