php不僅僅可以用在web環境下喔,它也是一款很不錯的shell呢,下面的代碼演示如果在shell中使用php合並圖片
#!/usr/local/bin/php -q
author:freemouse
<?php
// 下面是說明.
print ("本程序用於合並2張 640x480大小的.\n");
print ("圖片,並將其轉化為一張 400x300 大小的圖片\n");
print ("需要指定存放合成前圖片(a.jpg,b.jpg)的默認目錄\n");
print ("生成的圖片將會保存為c.jpg\n");
//默認目錄,自己編輯吧^_^
$d="/home/freemouse/Desktop";
print ("當前目錄為: $d\n");
print (" 圖片 a.jpg 偏移, 0-100: ");
$fp = fopen("php://stdin", "r");
$a = fgets($fp,255);
print (" 圖片 b.jpg 偏移, 0-100: ");
$b = fgets($fp,255);
fclose($fp);
$a=$a*3.2;
$a=floor($a);
$b=$b*3.2;
$b=floor($b);
// 將兩張圖片縮放至 640x480 尺寸
exec("縮放至 640x480 -質量 95 " . $d . "/a.jpg");
exec("縮放至 640x480 -質量 95 " . $d . "/b.jpg");
$aa = "轉換 -質量 90 -尺寸 320x480+";
$ab = " " . $d . "/a.jpg";
$bb = " " . $d . "/b.jpg";
$ac = " " . $d . "/aa.jpg";
$cc = " " . $d . "/bb.jpg";
// 縮放後的 a.jpg 另存為 aa.jpg
$yy = $aa . $a . $ab . $ac;
print ("$yy\n");
exec($yy);
// 縮放後的 b.jpg 另存為 bb.jpg
$zz = $aa . $b . $bb . $cc;
print ("$zz\n");
exec($zz);
// 合並兩張圖片為 c.jpg.
$adjoin = "合成 -質量 80 ";
$adjoin .= $d . "/aa.jpg ";
$adjoin .= $d . "/bb.jpg ";
$adjoin .= $d . "/c.jpg";
print ("$adjoin\n");
exec($adjoin);
// 調整 c.jpg 至 400x300 尺寸 並添加邊框.
$edge="縮放至 400x300 -質量 75 -raise 4x4 -sharpen 1x1 " . $d . "/c.jpg";
print ("$edge\n");
exec($edge);
?>