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
imagecopy()
copiare parte dell'immagine


e-book
cartaceo
imagecopy
Destinazione X: Destinazione Y: Origine X: Origine Y:
Larghezza Origine: Altezza Origine:    
Cambiare i valori e premere
imagecopy esempio dinamico
Nell'esempio sono caricate 2 immagini da disco e con imagecopy() applicata una scritta di  copyright.
Queste sono "cane.jpg" l'immagine di un cane, che farà da sfondo e l'immagine "copyright.png"  che contiene la parola copyright su fondo trasparente ma incorniciato per evidenziare meglio l'esempio.
imagecopy (resource $immagineA, resource $immagineB, 
int $destinazioneX , int $destinazioneY, 
int $letturaX, int $letturaY, 
int $larghezza, int $altezza);
Parametri
$immagineA: Immagine di destinazione considerata nella sua interezza.
$immagineB: Immagine della quale verrà prelevata una parte e sovrapposta all'immagineA
$destinazioneX: Coordinata X del punto di destinazione sull' immagineA
$destinazioneY: Coordinata Y del punto di destinazione sull' immagineA
$letturaX: Coordinata X del punto di origine lettura dall'immagineB
$letturaY: Coordinata Y del punto di origine lettura dall'immagineB 
$larghezza: Larghezza della porzione d'immagineB letta dal punto di origine (letturaX , letturaY) 
$altezza: Altezza porzione d'immagineB letta dal punto di origine (letturaX , letturaY)
L'esempio seguente copia un'immagine png su un'alta jpg.
L'immagine png contiene, su sfondo trasparente, la scritta copyright.
Facendo uso della funzione getimagesize(), vengono lette le dimensioni di entrambe le immagini.
La png con la scritta copyright viene copiata sull'immagine cane.jpg centrandola.
Con imagecopy() l'immagine da sovrapporre deve avere dimensione più contenute della sottostante altrimenti utilizzare imagecopyresized().


<?php
header('Content-Type: image/jpeg');


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


$immagineB = imagecreatefrompng( "copyright.png" ); // carica l'immagine da sovrapporre
$DimensioniImageB = getimagesize("copyright.png");
//$DimensioniImageB[0]; // larghezza
//$DimensioniImageB[1]; // altezza


// calcola distanza dal margine sinistro - 14 dimensioni della cornice del copyright
$destinazione_x_su_immagine_fondo = (($DimensioniImageA[0] - ($DimensioniImageB[0]-14)))/2;
// calcola distanza dal margine superiore - 14 dimensioni della cornice del copyright
$destinazione_y_su_immagine_fondo = (($DimensioniImageA[1] - ($DimensioniImageB[1]-14)))/2 ;
// posizione x,y di partenza per il prelievo dell'immagine da sovrapporre
$punto_x_lettura_da_immagine_sovrapposta = 7;// esclude parte sinistra della cornice
$punto_y_lettura_da_immagine_sovrapposta = 7;// esclude parte superiore della cornice


// dimensione della parte dell'immagine da sovrapporre
$larghezza_prelevata_da_immagine_da_sovrapporre = $DimensioniImageB[0]-14; // esclude parte destra
$altezza_prelevata_da_immagine_da_sovrapporre = $DimensioniImageB[1]-14; // esclude parte inferiore

// esegue la funzione
imagecopy ($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 
);
imagejpeg($immagineA); // al browser 
imagejpeg($immagineA, "NomeFile.jpg" ); // salva
// libera memoria 
imagedestroy($immagineA); imagedestroy($immagineB); 
?> Risultato: