2016-01-13 174 views
1

我试图让图片上的水印,但水印应该是上传的图像相同的大小,任何人都可以帮助我做到这一点,我的意思是,和身高。图片WaterMark尺寸

请帮我这么做,当图片上传完成后,我想打开包含处理图片的页面,而不是点击此处查看图片的消息。

<?php 

define('WATERMARK_OVERLAY_IMAGE', 'watermark.png'); 
define('WATERMARK_OVERLAY_OPACITY', 50); 
define('WATERMARK_OUTPUT_QUALITY', 90); 

function create_watermark($source_file_path, $output_file_path) 
{ 
    list($source_width, $source_height, $source_type) = getimagesize($source_file_path); 
    if ($source_type === NULL) { 
     return false; 
    } 
    switch ($source_type) { 
     case IMAGETYPE_GIF: 
      $source_gd_image = imagecreatefromgif($source_file_path); 
      break; 
     case IMAGETYPE_JPEG: 
      $source_gd_image = imagecreatefromjpeg($source_file_path); 
      break; 
     case IMAGETYPE_PNG: 
      $source_gd_image = imagecreatefrompng($source_file_path); 
      break; 
     default: 
      return false; 
    } 
    $overlay_gd_image = imagecreatefrompng(WATERMARK_OVERLAY_IMAGE); 
    $overlay_width = imagesx($overlay_gd_image); 
    $overlay_height = imagesy($overlay_gd_image); 
    imagecopymerge(
     $source_gd_image, 
     $overlay_gd_image, 
     $source_width - $overlay_width, 
     $source_height - $overlay_height, 
     0, 
     0, 
     $overlay_width, 
     $overlay_height, 
     WATERMARK_OVERLAY_OPACITY 
    ); 
    imagejpeg($source_gd_image, $output_file_path, WATERMARK_OUTPUT_QUALITY); 
    imagedestroy($source_gd_image); 
    imagedestroy($overlay_gd_image); 
} 

/* 
* Uploaded file processing function 
*/ 

define('UPLOADED_IMAGE_DESTINATION', 'originals/'); 
define('PROCESSED_IMAGE_DESTINATION', 'images/'); 

function process_image_upload($Field) 
{ 
    $temp_file_path = $_FILES[$Field]['tmp_name']; 
    $temp_file_name = $_FILES[$Field]['name']; 
    list(, , $temp_type) = getimagesize($temp_file_path); 
    if ($temp_type === NULL) { 
     return false; 
    } 
    switch ($temp_type) { 
     case IMAGETYPE_GIF: 
      break; 
     case IMAGETYPE_JPEG: 
      break; 
     case IMAGETYPE_PNG: 
      break; 
     default: 
      return false; 
    } 
    $uploaded_file_path = UPLOADED_IMAGE_DESTINATION . $temp_file_name; 
    $processed_file_path = PROCESSED_IMAGE_DESTINATION . preg_replace('/\\.[^\\.]+$/', '.jpg', $temp_file_name); 
    move_uploaded_file($temp_file_path, $uploaded_file_path); 
    $result = create_watermark($uploaded_file_path, $processed_file_path); 
    if ($result === false) { 
     return false; 
    } else { 
     return array($uploaded_file_path, $processed_file_path); 
    } 
} 

/* 
* Here is how to call the function(s) 
*/ 

$result = process_image_upload('File1'); 
if ($result === false) { 
    echo '<br>er is een fout opgetreden.'; 
} else { 
    echo '<br>Je foto is klaar open hem door hier te klikken! <a href="' . $result[1] . '" target="_blank">' . $result[1] . '</a>'; 
} 
?> 

所有帮助将不胜感激。

例子:http://yvoms.nl/turkije/

回答