使用php shell命令合并图片的代码

时间:2021-11-12 22:33:04

代码如下:


#!/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); 

?>