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

yipeiwu_com5年前PHP代码库

本文实例讲述了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基本语法入门教程》及《php常用函数与技巧总结

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

相关文章

PHP关于foreach复制知识点总结

PHP的foreach是一个非常整洁和切中要害的语言结构。仍然有些人不喜欢使用它,因为他们认为它是缓慢的。一个通常命名的原因是foreach复制它迭代的数组。 因此,一些人建议写:...

PHP 上传文件的方法(类)

复制代码 代码如下: /** * 图片上传方法 * $maxsize=500000 = 500k; * $updir="up/"; * $upfile=$_FILES["file_img...

PHP 使用二进制保存用户状态的实例

前言 用户状态保存是一个很常见的需求,一般用来保存用户状态的方式是在数据库表中创建多个字段来存储相应的用户状态,比如要保存用户是否绑定了手机号和QQ,则需要2个字段(mobile,qq)...

盘点PHP和ASP.NET的10大对比!

盘点PHP和ASP.NET的10大对比!

在网上论坛,总是有成百上千的文章和帖子在讨论 PHP 和 ASP.NET,究竟谁才是更好的平台?不过很可惜,大部分人的观点总是带有偏见的,人们总会有意无意地推广自己喜欢的语言。 此外,如...

php报表之jpgraph柱状图实例代码

php报表之jpgraph柱状图实例代码

新手初识jpgraph肯定会遇到各种各样的问题,比如乱码什么的,本案例是jpgraph3.0.7制作,也经过本人的多次实验,解决乱码问题 复制代码 代码如下: <?php $dat...