2016-12-15 142 views
0

所以我的下面的代碼工作就像如果我上傳圖像它將調整圖像大小爲720x450然後水印它。但我不希望修改寬度和高度,並將水印放在任何尺寸的圖像的右下角水印上傳圖像沒有調整大小圖像寬度高度

如果有人可以幫我在這裏?

$image_path = "../images/watermark.png"; 
function watermark_image($oldimage_name, $new_image_name){ 
    global $image_path; 
    list($owidth,$oheight) = getimagesize($oldimage_name); 
    $width = 720; $height = 450;  
    $im = imagecreatetruecolor($width, $height); 
    $img_src = imagecreatefromjpeg($oldimage_name); 
    imagecopyresampled($im, $img_src, 0, 0, 0, 0, $width, $height, $owidth, $oheight); 
    $watermark = imagecreatefrompng($image_path); 
    list($w_width, $w_height) = getimagesize($image_path);   
    $pos_x = $width - $w_width; 
    $pos_y = $height - $w_height; 
    imagecopy($im, $watermark, $pos_x, $pos_y, 0, 0, $w_width, $w_height); 
    imagejpeg($im, $new_image_name, 90); 
    imagedestroy($im); 
    unlink($oldimage_name); 
    return true; 
} 

感謝您的幫助和時間。

回答

1

您提供手動高度和寬度,只需指定圖像

$image_path = "../images/watermark.png"; 
function watermark_image($oldimage_name, $new_image_name){ 
    global $image_path; 
    list($owidth,$oheight) = getimagesize($oldimage_name); 
    $width = $owidth; $height = $oheight;  
    $im = imagecreatetruecolor($width, $height); 
    $img_src = imagecreatefromjpeg($oldimage_name); 
    imagecopyresampled($im, $img_src, 0, 0, 0, 0, $width, $height, $owidth, $oheight); 
    $watermark = imagecreatefrompng($image_path); 
    list($w_width, $w_height) = getimagesize($image_path);   
    $pos_x = $width - $w_width; 
    $pos_y = $height - $w_height; 
    imagecopy($im, $watermark, $pos_x, $pos_y, 0, 0, $w_width, $w_height); 
    imagejpeg($im, $new_image_name, 90); 
    imagedestroy($im); 
    unlink($oldimage_name); 
    return true; 
} 

的原始高度ANS寬度試試這個,你會正常運行。

更多信息點擊這裏http://php.net/manual/en/image.examples-watermark.php

+0

欣賞隊友,但水印我需要它,在它做它在頂部的左下角 –

+0

根據您的需要@johrampong設置$ POS_X和$ POS_Y值。它將工作 –

+0

仍然在左上角隊友 –

相關問題