php 图片缩放然后合成并保存
/**
* 功能说明
* 将files/model_24/images/下的所有图片文件进行等比例缩放 到$image40w 尺寸 然后放到files/model_24/model.png图片的指定位置后保存到files/model_24/after/下
*/
function model_24()
{
//要求 货物图片大小为567x567
$path = "files/model_24/";
//得到该目录下面的所有文件
$file=scandir($path."images/");
foreach ($file as $index => $fileName)
{
//如果是文件夹则不继续执行
if(trim(str_replace(".", "", $fileName)) == '')continue;
//得到模板底图图片文件A
$model = imagecreatefrompng($path."model.png");
list($modelWidth,$modelHeight) = getimagesize($path."model.png");
//得到需要放到底图上的图片B
$productImage = file_get_contents($path."images/".$fileName);
$productImage = imagecreatefromstring($productImage);
list($productImageWidth,$productImageHeight) = getimagesize($path."images/".$fileName); //定义一个空白图片 也就是对图片B进行缩放
$image40w = 45;//缩放后的尺寸
$image40h = 45;
$image40 = imagecreatetruecolor($image40w, $image40h);
$white = imagecolorallocate($image40, 255, 255, 255);
imagefill($image40, 0, 0, $white); $productImageHeightRsize = 0;
$productImageWidthRsize = 0;
//如果货物的宽度大于高度 那么宽度定死为$image40size 否则就是高度定死$image40size
if($productImageWidth > $productImageHeight)
{
$scale = $image40w / $productImageWidth;
$productImageHeightRsize = $scale * $productImageHeight;
$productImageWidthRsize = $image40w;
}
else
{
$scale = $image40h / $productImageHeight;
$productImageWidthRsize = $scale * $productImageWidth;
$productImageHeightRsize = $image40h;
}
//定义货物图片坐标 以便左右与上下居中
$x = ($image40w - $productImageWidthRsize) / 2;
$y = ($image40h - $productImageHeightRsize) / 2;
//将商品图片进行缩放
imagecopyresized($image40, $productImage, $x, $y, 0, 0, $productImageWidthRsize, $productImageHeightRsize,$productImageWidth,$productImageHeight);
imagecopymerge($model, $image40, 16, 552, 0, 0, $image40w, $image40h, 100);
imagepng($model,$path."after/".$fileName);
}
echo "model_24()结束<br/>";
}
php 图片缩放然后合成并保存的更多相关文章
- 常用的图片相关方法,读取,保存,压缩,缩放,旋转,drawable转化
import android.content.Context; import android.content.res.AssetManager; import android.content.res. ...
- php使用imagick模块实现图片缩放、裁剪、压缩示例
PHP 使用Imagick模块 缩放,裁剪,压缩图片 包括gif图片 缩放 裁剪 复制代码代码如下: /** * 图片裁剪 * 裁剪规则: * 1. 高度为空或为零 按宽度缩放 高度自适 ...
- Android图片缩放方法
安卓开发中应用到图片的处理时候,我们通常会怎么缩放操作呢,来看下面的两种做法: 方法1:按固定比例进行缩放 在开发一些软件,如新闻客户端,很多时候要显示图片的缩略图,由于手机屏幕限制,一般情况下,我们 ...
- Android安卓开发中图片缩放讲解
安卓开发中应用到图片的处理时候,我们通常会怎么缩放操作呢,来看下面的两种做法: 方法1:按固定比例进行缩放 在开发一些软件,如新闻客户端,很多时候要显示图片的缩略图,由于手机屏幕限制,一般情况下,我们 ...
- java多图片上传--前端实现预览--图片压缩 、图片缩放,区域裁剪,水印,旋转,保持比例。
java多图片上传--前端实现预览 前端代码: https://pan.baidu.com/s/1cqKbmjBSXOhFX4HR1XGkyQ 解压后: java后台: <!--文件上传--&g ...
- 52、图片缩放库 PhotoView
PhotoView的简介: 这是一个图片查看库,实现图片浏览功能,支持pinch(捏合)手势或者点击放大缩小.支持在ViewPager中翻页浏览图片. PhotoView 是一款扩展自Android ...
- CSS实现图片缩放特效
今天是感恩节,祝大家感恩节快乐哦!最近天冷了,大家注意保暖哟.下面一起看看小颖写的demo吧. html代码: <!DOCTYPE html> <html> <head& ...
- HTML5 图片缩放功能
腾讯新闻上用的插件(xw.qq.com) 缩放插件scale.js (function(window, undefined) { var document = window.document, sup ...
- PHP图片裁剪_图片缩放_PHP生成缩略图
在制作网页过程中,为了排版整齐美观,对网页中的图片处理成固定大小尺寸的图片,或是要截去图片边角中含有水印的图片,对于图片量多,每天更新大量图,靠人工PS处理是不现实的,那么有没有自动处理图片的程序了! ...
随机推荐
- IOS MVC与MVVM的区别
MVVM是对胖模型进行的拆分,其本质是给控制器减负,就是把一些弱业务放到VM中去处理. MVC是一切设计的基础,所有新的设计模式都是基于MVC的改进.
- Windows 用bat脚本带配置启动redis,并用vb脚本使其在后台运行。
最近,在Windows上用开发PHP程序,需要用到Redis,每天要打开一个运行redis-server.exe的窗口这样比较烦,因为窗口就一直打开着,不能关闭. 所以就想着通过写脚本的方式,让他在后 ...
- dom常用操作
创建节点:document.createElement(元素名), document.createTextNode(文本内容) 添加节点:parent.appendChild(newChild) 移除 ...
- pytest文档13-allure2生成html报告(史上最详细)
前言 allure是一个report框架,支持java的Junit/testng等框架,当然也可以支持python的pytest框架,也可以集成到Jenkins上展示高大上的报告界面. 环境准备 1. ...
- vue中插入Echarts示例(菜鸟记录)
- Python自学:第三章 索引从0开始而不是从1
#返回最后一个,和倒数第二个元素 bicycles = ['trek','cannondale','redline','specialized'] print(bicycles[-1]) print( ...
- arch Linux(一)
制作启动盘 将U盘插入待装主机,设置U盘启动,重启进入系统安装界面 设置root密码 root@archiso~ # passwd 启动允许远程连接 root@archiso~ # systemctl ...
- recon工具解读
recon 是ferd 大神 释出的一个 用于生产环境诊断Erlang 问题的一个工具, 不仅仅是对Erlang stdlib 接口的封装, 还有memory fragmentation 相关的函数. ...
- Django-2.1基础操作
创建项目 安装django pip3 install django #查看django版本 django-admin --version python -m django --version 2.1. ...
- vue配置编译本地打开dist/index.html文件
项目完成后npm run build会生成dist文件,此时直接将dist文件发布到线上即可,若想本地打开dist/index.html可看,一般页面为空,或者报错找不到css和js文件,则需要更改一 ...