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

复制代码 代码如下:

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

?>

时间: 2024-09-19 07:20:00

使用php shell命令合并图片的代码的相关文章

使用php 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")

process-如何在Android代码中使用 adb shell命令

问题描述 如何在Android代码中使用 adb shell命令 想使用 "mount -o remount,rw /system"这个命令 使用过 Process process = null; DataOutputStream os = null; process = Runtime.getRuntime().exec("su"); os = new DataOutputStream(process.getOutputStream()); os.writeByt

Android中执行java命令的方法及java代码执行并解析shell命令_Android

android中执行java命令的方法大家都晓得吗,下面一段内容给大家带来了具体解析. android的程序基于java开发,当我们接上调试器,执行adb shell,就可以执行linux命令,但是却并不能执行java命令. 那么在android的shell中是否就不能执行java程序了呢. 答案是否定的.我们可以通过app_process来执行java程序. 写一个hello world吧,就是刚开始学java的时候 写得那个hello world,这次要在android上运行. 用记事本新建

Android中执行java命令的方法及java代码执行并解析shell命令

android中执行java命令的方法大家都晓得吗,下面一段内容给大家带来了具体解析. android的程序基于java开发,当我们接上调试器,执行adb shell,就可以执行linux命令,但是却并不能执行java命令. 那么在android的shell中是否就不能执行java程序了呢. 答案是否定的.我们可以通过app_process来执行java程序. 写一个hello world吧,就是刚开始学java的时候 写得那个hello world,这次要在android上运行. 用记事本新建

Shell命令批量修改图片文件名_linux shell

公司同事今天找我帮忙修改文件名,我一看,好嘛,几百个文件要改名,文件名格式是_01.png _02.png这样依次类推,同事要求把前面的"_"给去掉,还好要求算简单,没有让我再改成其他名字. 一条命令搞定: 复制代码 代码如下: for i in `ls _*.png`; do mv "$i" `echo "$i" |awk -F '_0' '{print $1 "0" $2}'`; done 如果要连_0都去掉的话,就这样写

《Hadoop实战手册》一1.2 使用Hadoop shell命令导入和导出数据到HDFS

1.2 使用Hadoop shell命令导入和导出数据到HDFS HDFS提供了许多shell命令来实现访问文件系统的功能,这些命令都是构建在HDFS FileSystem API之上的.Hadoop自带的shell脚本是通过命令行来执行所有操作的.这个脚本的名称叫做hadoop,通常安装在$HADOOP_BIN目录下,其中$HADOOP_BIN是Hadoopbin文件完整的安装目录,同时有必要将$HADOOP_BIN配置到$PATH环境变量中,这样所有的命令都可以通过hadoop fs -co

Android执行shell命令详解_Android

一.方法 复制代码 代码如下: /** * 执行一个shell命令,并返回字符串值 * * @param cmd * 命令名称&参数组成的数组(例如:{"/system/bin/cat", "/proc/version"}) * @param workdirectory * 命令执行路径(例如:"system/bin/") * @return 执行结果组成的字符串 * @throws IOException */ public stati

Android执行shell命令详解

一.方法 复制代码 代码如下: /**  * 执行一个shell命令,并返回字符串值  *  * @param cmd  * 命令名称&参数组成的数组(例如:{"/system/bin/cat", "/proc/version"})  * @param workdirectory  * 命令执行路径(例如:"system/bin/")  * @return 执行结果组成的字符串  * @throws IOException  */  pu

线程-求救高手。。linux c编程,用进程池实现shell命令cp

问题描述 求救高手..linux c编程,用进程池实现shell命令cp 现在状态是,复制单个文件没问题,复制一个目录且目录里没有子目录也没问题. 如果目录里有一个子目录,这样貌似没有问题,但是如果有多个子目录,就会出现各种问题. 弄了一个晚上了,各种惆怅,求救各位老大帮忙看看. 本人新手,代码比较乱真的非常抱歉. //code start #include #include #include #include #include #include #include #include #inclu