對這文章發表回應
發表限制: 非會員 可以發表
發表者: 冷日 發表時間: 2008/9/19 8:48:33
此方式是經由站長建議來實作的喔..
那天與站長閒聊GD與系統縮圖程式的優缺點.
經小弟省思許多還是贊同站長的建議...
利用imagemagick與PHP來作搭配..
果然...方便渡給100分喔..
小弟提供一個簡單的語法範例功大家一起研究..
有錯誤請多指正唷..^_^
感激站長的幫忙..小弟才能將此文章port來與大家研究唷 ^_^
其它的參數:
1.生成縮圖
a.指定大小
b.利用比例
2.旋轉圖形
利用cotate參數,+90表順時針旋轉90度,而-90則表逆時針轉90度
3.轉換格式
以附檔名為準,如下例就是將jpg轉換成png的用法
4.一次使用多種命令
5.取得圖片寬
6.取得圖片高
原文出處:PHP5網管實驗室
那天與站長閒聊GD與系統縮圖程式的優缺點.
經小弟省思許多還是贊同站長的建議...
利用imagemagick與PHP來作搭配..
果然...方便渡給100分喔..
小弟提供一個簡單的語法範例功大家一起研究..
有錯誤請多指正唷..^_^
<?php
$w="240"; //自行設定的縮圖寬度
$h="320"; //自行設定的縮圖高度
if($_FILES['file']['type']=="image/pjpeg" || $_FILES['file']['type']=="image/gif" || $_FILES['file']['type']=="image/png") {
if($_FILES['file']['type']=="image/pjpeg") {
$filename=substr(rand(0,999999999999),1,7).".gif"; //隨機取檔名..我的習慣啦 ^^||
}
if($_FILES['file']['type']=="image/gif") {
$filename=substr(rand(0,999999999999),1,7).".gif";
}
if($_FILES['file']['type']=="image/png") {
$filename=substr(rand(0,999999999999),1,7).".png";
}
$size=$w."x".$h;
copy($_FILES['file']['tmp_name'],"/home/caisse/case/kf/data/file/b".$filename); //將暫存檔copy至自己定義的目錄..因為小弟大小圖都想要 ^^
$big_image="/home/caisse/case/kf/data/file/b".$filename;
$small_image="/home/caisse/case/kf/data/file/s".$filename;
$exec_str="/usr/bin/convert '-geometry' ".$size." ".$big_image." ".$small_image; //注意"跟'唷
exec($exec_str);
} else {
echo "請上傳圖片";
}
?>
<form action="#" method="post" enctype="multipart/form-data" name="form1">
<input type="file" name="file">
<input type="submit" name="Submit" value="送出">
</form>
<?php if($_FILES) { ?>
原始圖 <img src="/data/file/b<?php echo $filename; ?>"> <br>
裁切後的圖 <img src="/data/file/s<?php echo $filename; ?>">
<?php } ?>
感激站長的幫忙..小弟才能將此文章port來與大家研究唷 ^_^
其它的參數:
1.生成縮圖
a.指定大小
# convert -sample 80x40 input.jpg output.jpg
b.利用比例
# convert -sample 25%x25% input.jpg output.jpg
2.旋轉圖形
利用cotate參數,+90表順時針旋轉90度,而-90則表逆時針轉90度
# convert -rotate 90 input.jpg output.jpg
3.轉換格式
以附檔名為準,如下例就是將jpg轉換成png的用法
# convert input.jpg output.png
4.一次使用多種命令
# convert -sample 25%x25% -spread 4 \ -charcoal 4 input.jpg output.jpg
5.取得圖片寬
# identify -format "%w" D:/input.jpg
6.取得圖片高
# identify -format "%h" D:/input.jpg
原文出處:PHP5網管實驗室