使用php shell命令合并图片的代码
发布时间:2023-06-21 22:34:35
标签: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);
?>


猜你喜欢
- 最近看到市场上各种的文档格式转换软件,要么是收费、要么是有大量的广告。于是学习了一下 PyQt5 的页面操作,再加上了解 pandas 的使
- 本文实例总结了GO语言基本数据类型。分享给大家供大家参考。具体如下:1、注释(与C++一样)行注释://块注释:/* ...*/2、标识符可
- 最近在对接微信公众号、微信支付等功能,发现很多都是用xml格式的。在使用django日常处理的时候,都是手动拼接的,真的是很恶心。今天仔细的
- 按位与或(&、|、^):按照二进制进行逻辑运算例如:数字换成二进制,各自位上的0/1进行逻辑运算,得到的结果转换为数字3 &
- 作者:xiaolanLin声明 :本文版权归作者和博客园共有,来源网址:https://www.cnblogs.com/xiaolan-Li
- 前几天,杨超越编程大赛火了,大家都在报名参加,而我也是其中的一员。在我们的项目中,我负责的是数据爬取这块,我主要是把对于杨超越 的
- 在sql语句后使用 SCOPE_IDENTITY() 当然您也可以使用 SELECT @@IDENTITY 但是使用 SELECT @@ID
- 使用 pyecharts 渲染成图片一直是开发者比较关心的功能,pyecharts提供了 selenium、phantomjs 和 pypp
- 前几天学习了Yolov5,当我想实际将Yolov5实际运用的时候却不知道怎么办了然后我决定对Yolov5的detect.py修改为可以直接调
- 在论坛和聊天室这样的场景里,为了保证用户体验,我们经常需要屏蔽很多不良词语。对于单个关键词查找,自然是indexOf、正则那样的方式效率比较
- PyCharm最近在用PyCharm的时候运行结果总是在Console里输出,而不是在run输出,下面列出解决方法1.点击工具栏run,再点
- 今天自己写个楼层效果,有一点烦躁,小地方犯错误。各位大神来修改不足啊!!!<!DOCTYPE html><html lan
- 网上的教程大多数是教大家如何加载自定义模型和函数,如下图这个SelfAttention层是在训练过程自己定义的一个class,但如果要加载这
- Golang 使用 Groutine 和 channels 实现了 CSP(Communicating Sequential Process
- python pyinstaller pyqt4 打包 QWindows最近在做课设,用pyqt设计界面。然后用pyinstaller打包程
- 1.mysql-通过sql建立连接池连接池用sql.Open函数创建连接池,可是此时只是初始化了连接池,并没有创建任何连接。连接创建都是惰性
- 在向表中插入数据的时候,经常遇到这样的情况:1、首先判断数据是否存在;2、如果不存在,则插入;3、如果存在,则更新。 在 SQL
- 用XMlhttp生成html页面,相关函数如下:<% ’定义xmlhttp function Get
- 本文实例讲述了JS基于面向对象实现的选项卡效果。分享给大家供大家参考,具体如下:中间过渡环节:把面向过程的程序,改写成面向对象的形式<
- 因为公司需要在原有的web开发上,实现3d效果。根据需求正在学习webgl,主攻cesium这一块,采用的工具是webstorm.但是使用一