Utilizzo di cookies
Script GD libray con PHP Modelli Creare immagine Colore e trasparenza Disegnare Pennelli Misurare Filtri Testo Copy Salvare Miscellanea
GD library con PHP
imagecopymerge()
copia e unisce parti d'immagini


e-book
cartaceo
imagecopymerge
Destinazione X: Destinazione Y: Origine X: Origine Y:
Larghezza Origine: Altezza Origine: Opacità:  
Cambiare i valori e premere
imagecopy esempio dinamico
Copia e unisce una parte dell'immagine con una percentuale di opacità stabilita dal programmatore. 
Il parametro percentuale specifica la quantità di opacità dove 0=massima trasparenza e 100=massima opacità.  Se il valore è 100% si comporta come la funzione imagecopy().
imagecopymerge( resource $immagineA, resource $immagineB, 
int $destinazioneX, int $destinazioneY, 
int $letturaX, int $letturaY, 
int $larghezza, int $altezza, 
int $percentuale)
Parametri
$immagineA: Immagine di destinazione.
$immagineB: Immagine della quale verrà prelevata una parte e sovrapposta $ImmagineA
$destinazioneX: coordinata X del punto di destinazione su $ImmagineA
$destinazioneY: coordinata Y del punto di destinazione su $ImmagineA
$letturaX: coordinata X del punto di origine lettura dall'immagine da sovrapporre.
$letturaY: coordinata Y del punto di origine lettura dall'immagine da sovrapporre.
$larghezza: larghezza di porzione d'immagine da leggere dal punto di origine ($letturaX , $letturaY) 
$altezza: altezza di porzione d'immagine da leggere dal punto di origine ($letturaX , $letturaY)
$percentuale: di opacità dell'immagine sovrapposta
Il valore della percentuale può variare da 0 a 100, dove 0 è massima trasparenza, l'immagine è invisibile e 100 massima opacità..
Valori fuori dal range 0-100 non determinano errore ma risultati imprevedibili.
Nell'esempio seguente, es_45_imagecopymerge, viene sovrapposta un'immagine ad un'altra diminuendo l'altezza di 36 pixel e dissolvendola del 30%,


<?php
$ImmagineA = imagecreatefromjpeg('cane.jpg'); // carica l'immagine di fondo
$DimensioniImageA = getimagesize('cane.jpg');
//$DimensioniImageA[0]; // larghezza
//$DimensioniImageA[1]; // altezza


$percentuale = 30; // percentuale di opacità dell'immagne sovrapposta


$ImmagineB = imagecreatefrompng( "copyright.png" ); // carica l'immagine da sovrapporre
$DimensioniImageB = getimagesize("copyright.png");
//$DimensioniImageB[0]; // larghezza
//$DimensioniImageB[1]; // altezza
// calcolla distanza dal margine sinistro
$destinazione_x_su_immagine_fondo = ($DimensioniImageA[0] - $DimensioniImageB[0])/2; 
// calcolla distanza dal margine superiore -18 pixel che sono da non copiare
$destinazione_y_su_immagine_fondo = ($DimensioniImageA[1] - ($DimensioniImageB[1]-18))/2 ;


// posizione x,y di partenza per il prelievo dell'immagine da sovrapporre
$punto_x_lettura_da_immagine_sovrapposta = 0;
$punto_y_lettura_da_immagine_sovrapposta = 18; // -18 pixel che sono da non copiare


// dimensione della parte dell'immagine da sovrapporre
$larghezza_prelevata_da_immagine_da_sovrapporre = $DimensioniImageB[0];
$altezza_prelevata_da_immagine_da_sovrapporre = $DimensioniImageB[1] - 36; // -36, da NON copiare


// esegue la funzione
imagecopymerge ($ImmagineA , $ImmagineB ,
$destinazione_x_su_immagine_fondo, $destinazione_y_su_immagine_fondo ,
$punto_x_lettura_da_immagine_sovrapposta, $punto_y_lettura_da_immagine_sovrapposta,
$larghezza_prelevata_da_immagine_da_sovrapporre, $altezza_prelevata_da_immagine_da_sovrapporre,
$percentuale );


header('Content-Type: image/jpeg');
imagejpeg($ImmagineA); // al browser
imagejpeg($ImmagineA,"NomeFile.jpg"); // salva
imagedestroy($ImmagineA); // libera memoria
imagedestroy($ImmagineB); 
?>

Risultato: