|
|
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已! |
|
恭喜您是本站第 1729059
位訪客!
登入 | 註冊
|
|
|
|
發表者 |
討論內容 |
冷日 (冷日) |
發表時間:2008/9/19 8:48 |
- Webmaster

- 註冊日: 2008/2/19
- 來自:
- 發表數: 15771
|
- [轉貼]利用imagemagick來作縮圖
- 此方式是經由站長建議來實作的喔..
那天與站長閒聊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網管實驗室
|
|
|
討論串
|