//圖片水印
$mark_filename = './02.jpg';
//獲取圖片信息
$info = getimagesize($mark_filename);
//獲取圖片的后綴
$type = image_type_to_extension($info[2], false);
//拼接圖片資源句柄函數
$func = 'imagecreatefrom' . $type;
//創建圖片資源句柄
$images = $func($mark_filename);
//裁剪圖片的大小為原圖的4分之一
$w = $info[0] / 4;
$h = $info[1] / 4;
//在內存中創建畫板
$mark_image = imagecreatetruecolor($w, $h);
//裁剪
imagecopyresampled($mark_image, $images, 0, 0, 0, 0, $w, $h,$info[0],$info[1]);
//銷毀內存
imagedestroy($images);
//需要加水印的圖片
$filename = '11.jpg';
//獲取圖片信息
$mark = getimagesize($filename);
//獲取圖片后綴
$mark_type = image_type_to_extension($mark[2], false);
//創建圖片資源句柄
$mark_func = 'imagecreatefrom' . $mark_type;
$image = $mark_func($filename);
//合并,添加水印圖片
imagecopymerge($image, $mark_image, 20, 30, 0, 0, $w, $h, 50);
//銷毀內存
imagedestroy($mark_image);
//文字水印
$font = "MSYH.TTF";
$content = "this 文字";
//設置字體的顏色及透明圖
$col = imagecolorallocatealpha($image, 45, 56, 123, 50);
//將文字寫入圖片
imagettftext($image, 20, 30, 400, 100, $col, $font, $content);
//圖片輸出函數拼接
$outFunc = 'image'.$type;
//設置文件路徑
$ml = date('Ymd', time());//目錄名稱
$url = $ml.'/'.time().'.png';//存儲的路徑
//判斷目錄是否存在
if (file_exists($ml) == false){
? ? //創建目錄,并且設置最高權限
? ? if (mkdir($ml, 0700, true)){
? ? ? ? echo '創建目錄成功';
? ? }else{
? ? ? ? echo '創建目錄失敗';
? ? }
}
//判斷是http還是https
$http_type = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) ? 'https://' : 'http://';
//全路徑
$urls = $http_type . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . $url;
//生成圖片
if ($outFunc($image,$url)){
? ? var_dump('壓縮圖片成功,圖片路徑為:'.$urls);
}else{
? ? var_dump('壓縮圖片失敗');
}