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

yipeiwu_com6年前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);

?>

相关文章

php 验证码(倾斜,正弦干扰线,黏贴,旋转)

php 验证码(倾斜,正弦干扰线,黏贴,旋转)

好久没有写帖子了。一直忙着新的项目。 最近,做验证码程序,一直想做一个简洁大方,自动识别比较困难的。 通过这些时候整理搜集,发现一般做法有以下几种方案:1、字体变型 (一般通过算法,进行...

php使用curl代理实现抓取数据的方法

本文实例讲述了php使用curl代理实现抓取数据的方法。分享给大家供大家参考,具体如下: <?php define ( 'IS_PROXY', true ); //是否...

PHP自定义函数获取搜索引擎来源关键字的方法

本文实例讲述了PHP自定义函数获取搜索引擎来源关键字的方法。分享给大家供大家参考,具体如下: 获取搜索引擎来源关键字的函数: function getKeywords() { /...

PHP采用get获取url汉字出现乱码的解决方法

本文实例讲述了PHP采用get获取url汉字出现乱码的解决方法。分享给大家供大家参考。具体方法如下: 一、问题: 本来打算这样使用 复制代码 代码如下:<a href="list....

PHP测试程序运行时间的类

类很简单,主要是运用了几个函数数组列表函数list(),字符串分割成数组函数explode(),获取时间戳和微秒数microtime(),代码如下: 复制代码 代码如下: <?ph...