4
回答
在 Windows 下安裝 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來與大家研究唷 ^_^
在 Windows 下安裝 ImageMagick
1. 到 http://www.imagemagick.org/ 下載 Windows Executable 版本。 (建議下載 Stable 穩定版本)

2. 安裝下載回來的 ImageMagick-x.x.x-xxx-windows-dll.exe ,建議安裝在 C:\Program Files\ 以外的資料夾。另外安裝時也請勾選 Update executable search path ,以讓系統可以找到 ImageMagick 執行檔的位置;其他用不到的選項可以不勾選。

3. 安裝完成後,請到安裝目錄下,將 ImageMagick 的 convert.exe 前面加上 im_ ,變成 im_convert.exe 。因為 Windows (XP) 本身已經有個叫 convert.exe 的檔案,改名後可避免與其發生衝突。

4. 打開 regedit.exe ,搜尋 convert.exe ,找到 [ImageMagick 安裝目錄]\convert.exe 的登錄值,將其改名為 im_convert.exe ,或刪除該登錄值。 (應該只有一個 AutoRun 的登錄值)

5. 使用方式如同原作者所著,僅需修改執行目錄及 convert 名稱即可。
其它的參數
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

举报
红薯
发帖于9年前 4回/2K+阅
顶部