Gå til innhold

Plassere et bilde over et annet


Anbefalte innlegg

Videoannonse
Annonse

Mulig jeg er helt dum, men gjore noen små endringer med det fungere ikke som det skal. Sitterer fra han som skrev scriptet: I hope it will help some of the less experienced php-coders here.. Skjønner jeg fortsatt har mye å lære! :yes: Skulle også helst slippe å lagre bildet som en ny fil, men at PHP-filen kun viste bildet.

 

mur.jpg:

mur.jpg

 

briller.gif:

briller.gif

 

<?php 

//$sourcefile = Filename of the picture into that $insertfile will be inserted. 
//$insertfile = Filename of the picture that is to be inserted into $sourcefile. 
//$targetfile = Filename of the modified picture. 
//$transition = Intensity of the transition (in percent) 
//$pos          = Position where $insertfile will be inserted in $sourcefile 
//                0 = middle 
//                1 = top left 
//                2 = top right 
//                3 = bottom right 
//                4 = bottom left 
//                5 = top middle 
//                6 = middle right 
//                7 = bottom middle 
//                8 = middle left 
// 
// 
$sourcefile = "mur.jpg";
$insertfile = "briller.gif";
$targetfile = "ny.jpg";

function mergePix($sourcefile,$insertfile, $targetfile, $pos=0,$transition=50) 
{ 
  
//Get the resource id´s of the pictures 
  $insertfile_id = imageCreateFromJPEG($insertfile); 
  $sourcefile_id = imageCreateFromJPEG($sourcefile); 

//Get the sizes of both pix    
  $sourcefile_width=imageSX($sourcefile_id); 
  $sourcefile_height=imageSY($sourcefile_id); 
  $insertfile_width=imageSX($insertfile_id); 
  $insertfile_height=imageSY($insertfile_id); 

//middle 
  if( $pos == 0 ) 
  { 
      $dest_x = ( $sourcefile_width / 2 ) - ( $insertfile_width / 2 ); 
      $dest_y = ( $sourcefile_height / 2 ) - ( $insertfile_height / 2 ); 
  } 

//top left 
  if( $pos == 1 ) 
  { 
      $dest_x = 0; 
      $dest_y = 0; 
  } 

//top right 
  if( $pos == 2 ) 
  { 
      $dest_x = $sourcefile_width - $insertfile_width; 
      $dest_y = 0; 
  } 

//bottom right 
  if( $pos == 3 ) 
  { 
      $dest_x = $sourcefile_width - $insertfile_width; 
      $dest_y = $sourcefile_height - $insertfile_height; 
  } 

//bottom left    
  if( $pos == 4 ) 
  { 
      $dest_x = 0; 
      $dest_y = $sourcefile_height - $insertfile_height; 
  } 

//top middle 
  if( $pos == 5 ) 
  { 
      $dest_x = ( ( $sourcefile_width - $insertfile_width ) / 2 ); 
      $dest_y = 0; 
  } 

//middle right 
  if( $pos == 6 ) 
  { 
      $dest_x = $sourcefile_width - $insertfile_width; 
      $dest_y = ( $sourcefile_height / 2 ) - ( $insertfile_height / 2 ); 
  } 
      
//bottom middle    
  if( $pos == 7 ) 
  { 
      $dest_x = ( ( $sourcefile_width - $insertfile_width ) / 2 ); 
      $dest_y = $sourcefile_height - $insertfile_height; 
  } 

//middle left 
  if( $pos == 8 ) 
  { 
      $dest_x = 0; 
      $dest_y = ( $sourcefile_height / 2 ) - ( $insertfile_height / 2 ); 
  } 
  
//The main thing : merge the two pix    
  imageCopyMerge($sourcefile_id, $insertfile_id,$dest_x,$dest_y,0,0,$insertfile_width,$insertfile_height,$transition); 

//Create a jpeg out of the modified picture 
header("Content-type: image/jpeg");
imagejpeg($sourcefile_id,"$targetfile"); 
} 
?>

Lenke til kommentar

Dersom du kun skal lime inn det ene bildet på det andre kan du bruke noe som dette:

 

<?php

$bildet = "mur.jpg";

$over = "briller.gif";

$im = imagecreatefromjpeg($bildet);

$im_over = imagecreatefromgif($over);

imagecopy($im, $im_over, 0, 0, 0, 0,imagesx($im_over), imagesy($im_over));

imagedestroy($im_over);

header("Content-type: image/jpeg");

imagejpeg($im);

imagedestroy($im);

?>

 

NB: det er klippet og limt rett fra manualen, så det er IKKE testet! Husk å endre plasseringen på bildet du limer inn ;)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...