php 等比例缩略图,PHP等比例生成缩略图
/**
* 等比例生成缩略图
* @param $imgSrc
* @param $resize_width
* @param $resize_height
* @param $isCut
* @author james.ou 2011-11-1
*/
public function reSizeImg($imgSrc, $resize_width, $resize_height, $isCut = false) {
//图片的类型
$type = substr(strrchr($imgSrc, "."), 1);
//初始化图象
if ($type == "jpg") {
$im = imagecreatefromjpeg($imgSrc);
}
if ($type == "gif") {
$im = imagecreatefromgif($imgSrc);
}
if ($type == "png") {
$im = imagecreatefrompng($imgSrc);
}
//目标图象地址
$full_length = strlen($imgSrc);
$type_length = strlen($type);
$name_length = $full_length - $type_length;
$name = substr($imgSrc, 0, $name_length - 1);
$dstimg = $name . "_s." . $type;
$width = imagesx($im);
$height = imagesy($im);
//生成图象
//改变后的图象的比例
$resize_ratio = ($resize_width) / ($resize_height);
//实际图象的比例
$ratio = ($width) / ($height);
if (($isCut) == 1) { //裁图
if ($ratio >= $resize_ratio) { //高度优先
$newimg = imagecreatetruecolor($resize_width, $resize_height);
imagecopyresampled($newimg, $im, 0, 0, 0, 0, $resize_width, $resize_height, (($height) * $resize_ratio), $height);
ImageJpeg($newimg, $dstimg);
}
if ($ratio < $resize_ratio) { //宽度优先
$newimg = imagecreatetruecolor($resize_width, $resize_height);
imagecopyresampled($newimg, $im, 0, 0, 0, 0, $resize_width, $resize_height, $width, (($width) / $resize_ratio));
ImageJpeg($newimg, $dstimg);
}
} else { //不裁图
if ($ratio >= $resize_ratio) {
$newimg = imagecreatetruecolor($resize_width, ($resize_width) / $ratio);
imagecopyresampled($newimg, $im, 0, 0, 0, 0, $resize_width, ($resize_width) / $ratio, $width, $height);
ImageJpeg($newimg, $dstimg);
}
if ($ratio < $resize_ratio) {
$newimg = imagecreatetruecolor(($resize_height) * $ratio, $resize_height);
imagecopyresampled($newimg, $im, 0, 0, 0, 0, ($resize_height) * $ratio, $resize_height, $width, $height);
ImageJpeg($newimg, $dstimg);
}
}
ImageDestroy($im);
}
原文:http://www.cnblogs.com/blog-dyn/p/7127799.html
php 等比例缩略图,PHP等比例生成缩略图相关推荐
- java 上传图片 生成缩略图_将图片生成缩略图Java代码实现
在工作中经常会遇到图片处理相关的需求,比如说一些图片网站只展示相关的缩略图,而真实的图片可能很大而不是直接展示.所以就需要在上传相关的图片后直接对图片进行处理生成相关的缩略图.实现代码如下: impo ...
- php生成缩略图填充白,php生成缩略图填充白边(等比缩略图方案)_PHP教程
网站上传图片后生成缩略图应该是非常常用的功能了,通常来讲为了网站显示美观,缩略图会是同样尺寸,比如最近笔者做的一个站点,缩略图规格要求都是160×120.但是如果上传的图片比例和缩略图不一致,直接缩放 ...
- php 缩略图增加水印,PHP生成缩略图加图片水印代码
一个PHP图片加水印, 生成缩略图类,觉得注释的挺清楚,与大家分享,如果想为你的PHP程序添加图片水印或者生成缩略图的话,应该是个不错的选择. PHP生成缩略图加图片水印代码<?php // 原 ...
- php 缩略图不失真,c#生成缩略图不失真的方法实例分享
c#生成缩略图不失真的方法实例分享/// /// 获得缩微图 /// /// public bool GetThumbImg() { try { string imgpath; //原始路径 if(i ...
- php 上传图片并生成缩略图,php 上传图片并生成缩略图
if ($_FILES['file']['error'] == 0) {$MAX_FILE_SIZE = 300000;if ($_FILES['file']['size'] > $MAX_FI ...
- java 上传图片 生成缩略图_上传图片同时生成缩略图
packagecn.conris.sys.utils;import java.io.*;import java.awt.*;import java.awt.image.*;importjava.awt ...
- java生成缩略图,接收图片,按指定宽高或按比例生成缩略图
全栈工程师开发手册 (作者:栾鹏) java教程全解 java生成缩略图,接收图片,按指定宽高或按比例生成缩略图,能有效降低前端访问图片的流量负载. 支持的图片类型 : [BMP, bmp, jpg, ...
- php图像处理缩略图,17.ThinkPHP 扩展库:图像处理--生成缩略图
安装扩展 使用Composer安装ThinkPHP5的图像处理类库: composer require topthink/think-image 生成缩略图 使用thumb方法生成缩略图,例如: $i ...
- java图片裁剪和java生成缩略图
一.缩略图 在浏览相册的时候,可能需要生成相应的缩略图. 直接上代码: public class ImageUtil {private Logger log = LoggerFactory.getLo ...
- java将图片转成缩略图,将图片生成缩略图Java代码实现
在工作中经常会遇到图片处理相关的需求,比如说一些图片网站只展示相关的缩略图,而真实的图片可能很大而不是直接展示.所以就需要在上传相关的图片后直接对图片进行处理生成相关的缩略图.实现代码如下: impo ...
最新文章
- Fedora 8中驱动ASUS6摄像头
- nginx实现前后端分离
- python selenium po模式_Python+Selenium+Unittest实现PO模式web自动化框架
- html5基础--audio标签元素
- C++ 泛型模板进阶
- 培养你的“翁格玛丽”
- 双十一凌晨苹果发布会,新 Mac 有望搭载 ARM 架构自研芯片
- (日常搬砖)voc(xml)格式的标注转换为coco(json)格式
- 新趋势下的云计算安全行业前沿认证|CCSK
- 怎么恢复计算机文件查看方式,win7电脑打开方式怎么还原?win7电脑还原打开方式的方法...
- OpenJ_Bailian - 2711
- python爬取斗鱼图片
- 支付宝H5支付(手机网站支付)
- 微信搜一搜未来可期,下半场有大动作,要做大搜索!
- 桥梁主动防撞预警系统平台介绍
- Linux开机 进入图形界面或命令行界面
- html5css3选择题,web前端技术(HTML5+CSS3)答案试题题目及答案,期末考试题库,章节测验答案...
- 基于java实现的学生档案管理系统毕业论文(可下载)
- 基于matlab的多容对象液位控制的设计和仿真 毕业论文答辩ppt,液位控制系统设计与仿真.doc...
- aplication.yml没有图标问题