【php开源代码栏目提醒】:网学会员--在 php开源代码编辑为广大网友搜集整理了:func_image.php绩等信息,祝愿广大网友取得需要的信息,参考学习。
<?php
if(!defined('ROOT')) {
exit('Access Denied');
}
// 鍒涘缓姘村嵃
function create_watermark($uploadfile) {
global $base;
$waterimg = '../templates/'.$base['templatename'].'/img/watermark.png';
if (file_exists($waterimg)) {
$upload_info = @getimagesize($uploadfile);
if (!$upload_info[0] || !$upload_info[1]) return;
switch ($upload_info['mime']) {
case 'image/jpeg':
$tmp = @imagecreatefromjpeg($uploadfile);
break;
case 'image/gif':
$tmp = @imagecreatefromgif($uploadfile);
break;
case 'image/png':
$tmp = @imagecreatefrompng($uploadfile);
break;
default :
return;
}
$marksize = @getimagesize($waterimg);
$width = $marksize[0];
$height = $marksize[1];
unset($marksize);
$pos_padding = ($base['pos_padding'] && $base['pos_padding'] > 0) ? $base['pos_padding'] : 5; //姘村嵃杈硅窛
switch ($base['waterpos']) {
// 宸︿笂
case '1':
$pos_x = $pos_padding;
$pos_y = $pos_padding;
break;
// 宸︿笅
case '2':
$pos_x = $pos_padding;
$pos_y = $upload_info[1] - $height - $pos_padding;
break;
// 鍙充笂
case '3':
$pos_x = $upload_info[0] - $width - $pos_padding;
$pos_y = $pos_padding;
break;
// 鍙充笅
case '4':
$pos_x = $upload_info[0] - $width - $pos_padding;
$pos_y = $upload_info[1] - $height - $pos_padding;
break;
// 涓棿
case '5':
$pos_x = ($upload_info[0] - $width) / 2;
$pos_y = ($upload_info[1] - $height) / 2;
break;
// 闅忔満
default:
$pos_x = rand(0,($upload_info[0] - $width));
$pos_y = rand(0,($upload_info[1] - $height));
break;
}
if($imgmark = @imagecreatefrompng($waterimg)) {
if ($upload_info[0] < ($width * 2) || $upload_info[1] < ($height * 2)) {
return;
//濡傛灉姘村嵃鍗犱簡鍘熷浘涓鍗婂氨涓嶆悶姘村嵃浜?褰卞搷娴忚.鎶靛埗褰卞搷姝e父娴忚鐨勫箍鍛?
}
if ($base['watermarktrans']) {
@imagecopymerge($tmp, $imgmark, $pos_x, $pos_y, 0, 0, $width, $height, $base['watermarktrans']);
} else {
@imagecopy($tmp, $imgmark, $pos_x, $pos_y, 0, 0, $width, $height);
}
}
switch ($upload_info['mime']) {
case 'image/jpeg':
@imagejpeg($tmp,$uploadfile,100);
@imagedestroy($tmp);
break;
case 'image/gif':
@imagegif($tmp,$uploadfile);
@imagedestroy($tmp);
break;
case 'image/png':
@imagepng($tmp,$uploadfile);
@imagedestroy($tmp);
break;
default :
return;
}
}
}
?>