Kép létrehozása PHP-vel

Kép létrehozása PHP-vel
2021-07-16T17:32:29+02:00
2021-07-16T21:34:40+02:00
2022-10-15T21:25:58+02:00
*deleted_23419333
Sziasztok!

Az alábbi kóddal kreálok egy 224x224 pixel méretű képet.

A háttér szeretném ha átlátszó lenne vagy ha ez nem lehetséges, akkor a $_GET[ 'bg' ] változó szerinti legyen, például: FF0000

Szeretném beolvasni, elhelyezni a fekete lakatot (lock-224x224.png) ezen a képen.

A lock-224x224.png fájl háttere átlátszó és van rajta egy fekete lakat: ilyesmi.

Ezt a lakatot szeretném véletlenszerűen elforgatva rátenni erre a képre és a fekete helyett véletlenszerű színt használni.

Eddit itt tartok:

<?php header( 'Content-Type: image/png' ); $hatter = $_GET[ 'bg' ]; // FF0000 // lakat: ../assets/images/lock-224x224.png $im = imagecreatetruecolor( 224, 224 ); // ? imagepng( $im ); imagedestroy( $im ); ?>

Hogyan tovább?

Előre is köszönöm a segítséget.
Mutasd a teljes hozzászólást!
Megoldás:

<?php header( 'Content-Type: image/png' ); $imgname = '../assets/images/lock-224x224.png'; $im = imagecreatefrompng( $imgname ); $im = imagerotate( $im, rand( 0, 360 ), imagecolorallocatealpha( $im, 0, 0, 0, 127 ) ); imagealphablending( $im, false ); $im = imagescale( $im, -1, 224 ); imagefilter ( $im, IMG_FILTER_COLORIZE, rand( 0, 255 ), rand( 0, 255 ), rand( 0, 255 ) ); imagesavealpha( $im, true ); imagepng( $im ); imagedestroy( $im ); ?>
Mutasd a teljes hozzászólást!

  • Már csak egy dolog hiányzik: a létrehozott kép háttere fekete lesz. Hogyan tudnám megoldani, hogy átlátszó legyen vagy a fekete helyett egy általam meghatározott szín?

    Egy létrehozott kép: lock.php

    <?php header( 'Content-Type: image/png' ); $imgname = '../assets/images/lock-224x224.png'; $im = imagecreatefrompng( $imgname ); imagealphablending( $im, true ); imagesavealpha( $im, true ); imagefilter ( $im, IMG_FILTER_COLORIZE, rand( 0, 255 ), rand( 0, 255 ), rand( 0, 255 ) ); $im = imagerotate( $im, rand( 0, 360 ), 0 ); $im = imagescale( $im, -1, 224 ); imagepng( $im ); imagedestroy( $im ); ?>
    Mutasd a teljes hozzászólást!
  • Megoldás:

    <?php header( 'Content-Type: image/png' ); $imgname = '../assets/images/lock-224x224.png'; $im = imagecreatefrompng( $imgname ); $im = imagerotate( $im, rand( 0, 360 ), imagecolorallocatealpha( $im, 0, 0, 0, 127 ) ); imagealphablending( $im, false ); $im = imagescale( $im, -1, 224 ); imagefilter ( $im, IMG_FILTER_COLORIZE, rand( 0, 255 ), rand( 0, 255 ), rand( 0, 255 ) ); imagesavealpha( $im, true ); imagepng( $im ); imagedestroy( $im ); ?>
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd