PHP中图片等比缩放的实例
<?php
//图片的等比缩放
//因为PHP只能对资源进行操作,所以要对需要进行缩放的图片进行拷贝,创建为新的资源
$src=imagecreatefromjpeg('a.jpg');
//取得源图片的宽度和高度
$size_src=getimagesize('a.jpg');
$w=$size_src['0'];
$h=$size_src['1'];
//指定缩放出来的最大的宽度(也有可能是高度)
$max=300;
//根据最大值为300,算出另一个边的长度,得到缩放后的图片宽度和高度
if($w > $h){
$w=$max;
$h=$h*($max/$size_src['0']);
}else{
$h=$max;
$w=$w*($max/$size_src['1']);
}
//声明一个$w宽,$h高的真彩图片资源
$image=imagecreatetruecolor($w, $h);
//关键函数,参数(目标资源,源,目标资源的开始坐标x,y, 源资源的开始坐标x,y,目标资源的宽高w,h,源资源的宽高w,h)
imagecopyresampled($image, $src, 0, 0, 0, 0, $w, $h, $size_src['0'], $size_src['1']);
//告诉浏览器以图片形式解析
header('content-type:image/png');
imagepng($image);
//销毁资源
imagedestroy($image);
?>
相关推荐
-
php多功能图片处理类分享(php图片缩放类)
复制代码 代码如下: <?php /** * 基本图片处理,用于完成图片缩入,水印添加 * 当水印图超过目标图片尺寸时,水印图能自动适应目标图片而缩小 * 水印图可以设置跟背景的合并度 */ /* 使用方法: 自动裁切: 程序会按照图片的尺寸从中部裁切最大的正方形,并按目标尺寸进行缩略 $t--->setSrcImg("img/test.jpg"); $t->setCutType(1);//这一句就OK
-
使用PHP生成二维码的两种方法(带logo图像)
一.利用Google API生成二维码 Google提供了较为完善的二维码生成接口,调用API接口很简单,以下是调用代码: $urlToEncode="http://www.jb51.net"; generateQRfromGoogle($urlToEncode); /** * google api 二维码生成[QRcode可以存储最多4296个字母数字类型的任意文本,具体可以查看二维码数据格式] * @param string $chl 二维码包含的信息,可以是数字.字符.二进制信
-
php缩放图片(根据宽高的等比例缩放)实例介绍
推荐一个简单实用的缩放图片工具 SimpleImage,参考http://www.white-hat-web-design.co.uk/blog/resizing-images-with-php/ 使用方法: 设定宽高,不等比例缩放 复制代码 代码如下: <?php include('SimpleImage.php'); $image = new SimpleImage(); $image->load('picture.jpg'); $image->resize(250,400); $i
-
PHP实现图片的等比缩放和Logo水印功能示例
本文实例讲述了PHP实现图片的等比缩放和Logo水印功能.分享给大家供大家参考,具体如下: /** * 等比缩放函数(以保存的方式实现) * @param string $picname 被缩放的处理图片源 * @param int $maxx 缩放后图片的最大宽度 * @param int $maxy 缩放后图片的最大高度 * @param string $pre 缩放后图片名的前缀名 * @return String 返回后的图片名称(带路径),如a.jpg=>s_a.jpg */ func
-
php图片的裁剪与缩放生成符合需求的缩略图
图片太大且规格不统一,显示的控制需要靠JavaScript来完成,用在移动设备上时显示效果不好且流量巨大,需要对现有图片库的图片进行一次处理,生成符合移动设备用的缩略图,将原来客户端JS做的工作转移到服务器端用PHP的GD库来集中处理. 图片源与需要的大小: 复制代码 代码如下: $src_img = "wallpaper.jpg"; $dst_w = 300; $dst_h = 200; 剪裁图像,保证图像区域最大化显示,并按比例缩放到指定大小. 一开始采用了 imagecopyre
-
如何实现php图片等比例缩放
通过文章给出的源代码可实现针对图片的等比缩放生成缩略图的功能,非常实用的技巧哦. 新建文件index.php,需要在统计目录下有个图片为pic.jpg(可根据源码进行更改图片的名称) 源代码如下: <?php $filename="pic.jpg"; $per=0.3; list($width, $height)=getimagesize($filename); $n_w=$width*$per; $n_h=$height*$per; $new=imagecreatetrueco
-
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
网站优化不能只定在代码上,内容也是网站最需要优化的对象之一,而图像又是网站中最主要的内容.图像的优化最需要处理的就是将所有上传到网站中的大图片自动缩放称小图(在网页中大小够用就行),以减少N倍的存储空间,并提高下载浏览的速度.所以图片缩放成一个动态网站必须要处理的任务,经常和文件上传绑定在一起工作,能在上传图片的同时就调整其大小.当然有时也需要单独处理图片缩放,例如在做图片列表时,如果直接用大图而在显示时才将其缩放成小图,这样做不仅下载速度会变慢,也会降低页面响应时间.通常遇到这样的应用都是在上
-
php实现按指定大小等比缩放生成上传图片缩略图的方法
本文实例讲述了php实现按指定大小等比缩放生成上传图片缩略图的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: /** * * *等比缩放 * @param unknown_type $srcImage 源图片路径 * @param unknown_type $toFile 目标图片路径 * @param unknown_type $maxWidth 最大宽 * @param unknown_type $maxHeight 最大高 * @par
-
php使用imagick模块实现图片缩放、裁剪、压缩示例
PHP 使用Imagick模块 缩放,裁剪,压缩图片 包括gif图片 缩放 裁剪 复制代码 代码如下: /** * 图片裁剪 * 裁剪规则: * 1. 高度为空或为零 按宽度缩放 高度自适应 * 2. 宽度为空或为零 按高度缩放 宽度自适应 * 3. 宽度,高度到不为空或为零 按宽高比例等比例缩放裁剪 默认从头部居中裁剪 * @param number $width * @param number $height */ public function
-
PHP上传图片进行等比缩放可增加水印功能
啥也不说,直接上代码,大家可以自行添加增加水印功能: 复制代码 代码如下: <?php /** * * @author zhao jinhan * @date 2014年1月13日11:54:30 * @email xb_zjh@126.com * */ header('Content-type:text/html; charset=utf-8'); //定义缩略图的宽高 define('THUMB_WIDTH',300); define('THUMB_HEIGHT',300); /** * 重
-
php实现图片缩放功能类
复制代码 代码如下: <?php /** * Images类是一个图片处理类 * @package application.controllers * @since 1.0 */class Images { /** * 缩放图片 * @param $source原图片 * @param $newfile新图片 * @param $pre缩放比例 */ public function thumn($source,$pre,$newfile) { //获取图片尺寸 li
-
php gd等比例缩放压缩图片函数
本文实例为大家分享了php gd等比例缩放压缩图片函数,供大家参考,具体内容如下 <?php /** * desription 判断是否gif动画 * @param sting $image_file图片路径 * @return boolean t 是 f 否 */ function check_gifcartoon($image_file){ $fp = fopen($image_file,'rb'); $image_head = fread($fp,1024); fclose($fp); r
-
PHP实现批量生成App各种尺寸Logo
使用PHP GD,使用良好,一键剪裁各种尺寸,打包下载.经常换icon的懂的,美工给你一个1024的logo,你得ps出各种尺寸,于是有了这个东西. 核心代码 复制代码 代码如下: <?php class image { /** * source image * * @var string|array */ private $source; /** * temporay image * * @var f
随机推荐
- Vue基于NUXT的SSR详解
- 原生js事件的添加和删除的封装
- asp 下产生任意位数随机密码的代码
- js面向对象实现canvas制作彩虹球喷枪效果
- JAVA中阻止类的继承(官方和非官方)
- 数据库阿里连接池 druid配置详解
- java生成图片验证码实例代码
- Python实现的排列组合计算操作示例
- PHP加密解密类实例代码
- java编写Http服务器下载工具
- javascript按位非运算符的使用方法
- Flex与.NET互操作(十二):FluorineFx.Net的及时通信应用(Remote Shared Objects)(三)
- Java集合框架源码分析之LinkedHashMap详解
- eclipse 联想功能设置技巧
- C#实现XML与实体类之间相互转换的方法(序列化与反序列化)
- spring aop注解配置代码实例
- 关于Layui Table隐藏列问题
- Mac 安装 mysqlclient过程解析
- Java元组类型javatuples使用实例
- 微信小程序实现的日期午别医生排班表功能示例