PHP实现原比例生成缩略图的方法


Posted in PHP onFebruary 03, 2016

本文实例讲述了PHP实现原比例生成缩略图的方法。分享给大家供大家参考,具体如下:

<?php
$image = "jiequ.jpg"; // 原图
$imgstream = file_get_contents($image);
$im = imagecreatefromstring($imgstream);
$x = imagesx($im);//获取图片的宽
$y = imagesy($im);//获取图片的高
// 缩略后的大小
$xx = 140;
$yy = 200;
if($x>$y){
//图片宽大于高
  $sx = abs(($y-$x)/2);
  $sy = 0;
  $thumbw = $y;
  $thumbh = $y;
} else {
//图片高大于等于宽
  $sy = abs(($x-$y)/2.5);
  $sx = 0;
  $thumbw = $x;
  $thumbh = $x;
 }
if(function_exists("imagecreatetruecolor")) {
 $dim = imagecreatetruecolor($yy, $xx); // 创建目标图gd2
} else {
 $dim = imagecreate($yy, $xx); // 创建目标图gd1
}
imageCopyreSampled ($dim,$im,0,0,$sx,$sy,$yy,$xx,$thumbw,$thumbh);
header ("Content-type: image/jpeg");
imagejpeg ($dim, false, 100);
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP 模拟登陆MSN并获得用户信息
May 16 PHP
php cookie的操作实现代码(登录)
Dec 29 PHP
有关PHP中MVC的开发经验分享
May 17 PHP
用php来改写404错误页让你的页面更友好
Jan 24 PHP
深入php-fpm的两种进程管理模式详解
Jun 03 PHP
php中file_get_contents与curl性能比较分析
Nov 08 PHP
PHP使用PDO连接ACCESS数据库
Mar 05 PHP
php使用substr()和strpos()联合查找字符串中某一特定字符的方法
May 12 PHP
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
Mar 23 PHP
PHP执行shell脚本运行程序不产生core文件的方法
Dec 28 PHP
PHP实现正则匹配所有括号中的内容
Jun 22 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
Mar 29 PHP
PHP获取昨天、今天及明天日期的方法
Feb 03 #PHP
PHP实现长文章分页实例代码(附源码)
Feb 03 #PHP
PHP开发中常用的十个代码样例
Feb 02 #PHP
必须收藏的php实用代码片段
Feb 02 #PHP
PHP执行linux命令常用函数汇总
Feb 02 #PHP
必须收藏的23个php实用代码片段
Feb 02 #PHP
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
Feb 01 #PHP
You might like
修改php.ini实现Mysql导入数据库文件最大限制的修改方法
2007/12/11 PHP
php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
2011/02/08 PHP
php通过修改header强制图片下载的方法
2015/03/24 PHP
添加到收藏夹代码(兼容几乎所有的浏览器)
2007/01/09 Javascript
可实现多表单提交的javascript函数
2007/08/01 Javascript
jQuery实现为图片添加镜头放大效果的方法
2015/06/25 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
2016/06/21 Javascript
Google 地图API Map()构造器详解
2016/08/06 Javascript
卸载安装Node.js与npm过程详解
2016/08/15 Javascript
Angular下H5上传图片的方法(可多张上传)
2017/01/09 Javascript
手把手教你搭建ES6的开发运行环境
2017/07/11 Javascript
node.js中grunt和gulp的区别详解
2017/07/17 Javascript
Vue中组件之间数据的传递的示例代码
2017/09/08 Javascript
Bootstrap Table快速完美搭建后台管理系统
2017/09/20 Javascript
分享vue.js devtools遇到一系列问题
2017/10/24 Javascript
详解Vue webapp项目通过HBulider打包原生APP(vue+webpack+HBulider)
2019/02/02 Javascript
微信小程序实现批量倒计时功能
2020/11/01 Javascript
纯 JS 实现放大缩小拖拽功能(完整代码)
2019/11/25 Javascript
vue中实现动态生成二维码的方法
2020/02/21 Javascript
iview实现动态表单和自定义验证时间段重叠
2021/01/10 Javascript
[00:43]拉比克至宝魔导师密钥展示
2018/12/20 DOTA
单链表反转python实现代码示例
2018/02/08 Python
Python中一些深不见底的“坑”
2019/06/12 Python
Python参数传递对象的引用原理解析
2020/05/22 Python
使用keras实现孪生网络中的权值共享教程
2020/06/11 Python
什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
2012/05/23 面试题
一套Delphi的笔试题一
2016/02/14 面试题
聘任书的写作格式及范文
2014/03/29 职场文书
就业协议书的作用
2014/04/11 职场文书
安全教育月活动总结
2014/05/05 职场文书
2014年物流工作总结
2014/11/25 职场文书
英语感谢信范文
2015/01/20 职场文书
商超业务员岗位职责
2015/02/13 职场文书
大学入学感言
2015/08/01 职场文书
PHP使用非对称加密算法RSA
2021/04/21 PHP
vue封装数字翻牌器
2022/04/20 Vue.js