GD JPEG 自動縮圖 , 插入文字 , 插入浮水印
function ecstart_convert_jpeg(
$src_file,$dst_file,$text_type,$text_image,$watermark_type,$watermark_image,$pic_width,
$pic_height){
//$src_file 來源圖片路徑
//$dst_file 存檔圖片路徑
//$text_type 是否插入文字
//$text_image 插入的文字內容
//$watermark_type 是否插入浮水印
//$watermark_image 圖水印圖片路徑
//$pic_width 存檔圖片寬度
//$pic_height 存檔圖片高度
$image = imagecreatefromjpeg($src_file) ;
$s_width = imagesx($image);
$s_height = imagesy($image);
// 縮圖大小
$thumb = imagecreatetruecolor($pic_width, $pic_height);
// 自動縮圖
imagecopyresized($thumb, $image, 0, 0, 0, 0, $pic_width, $pic_height, $s_width, $s_height);
//imagejpeg($thumb,"/tmp/tmpfile.jpg","100");
//$thumbimage = imagecreatefromjpeg("/tmp/tmpfile.jpg") ;
// 取得寬度
$i_width = imagesx($thumb);
$i_height = imagesy($thumb);
//imagejpeg($image,"/home/www/ecstart.com/public_html/cart/test.jpg","100");
//imagejpeg($image);
// 計算 插入文字出現位置
$ywpos = $i_height - 35 ;
// 設定 插入文字
$textcolor = imagecolorallocate($thumb, 250, 250, 250);
// 插入文字
if($text_type == "Y"){
imagestring($thumb, 5, 25, $ywpos, $text_image, $textcolor);
}
// 載入浮水印圖
$w_image = imagecreatefromjpeg($watermark_image) ;
// 取出浮水印圖 寬 與 高
$w_width = imagesx($w_image);
$w_height = imagesy($w_image);
// 計算 浮水印出現位置
$xpos = $i_width - $w_width -20 ;
$ypos = $i_height - $w_height-20 ;
//結合浮水印
if($watermark_type == "Y"){
imagecopy($thumb,$w_image,$xpos,$ypos,0,0,$w_width,$w_height);
}
imagejpeg($thumb,$dst_file,"100");
imagedestroy($thumb);
imagedestroy($image);
imagedestroy($w_image);
}
11 則留言:
請問一下 如果水印是gif格式 是否有辦法程現出透明的內容
另外 文字編碼的部份 是不是要設定為UTF-8
透明部份 你可以試試看.
文字編碼部份, 這部份要看你網站用什麼邊嗎.
感謝您~~
請問可以引用到我的Blog上面嗎?
若有侵權請通知小弟拿下!!
jay0932 at aol dot tw
插入文字是中文時,會亂碼,不知會否有方法改善呢?
插入文字是中文時,會亂碼,不知會否有方法改善呢?
可以去找字型檔來使用
http://coz.tw/dz6/thread-18563-1-1.html 參考這邊吧~
請問有沒有辦法客製浮水印呢? 意思是讓每個user下載圖檔時,圖檔內的浮水印會寫:授予 userXX 使用 這樣子
可以啊~ 就即時產生 浮水印圖就好了.
不好意思,可以再說明白一些嗎,所謂即時產生是指??
$watermark_image 這個變數 本來是帶入浮水印的路徑, 你可以把這個改成即時產生的浮水印圖片, 這樣就可以啦.
張貼留言