使用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);

  ?>