使用gd库实现php服务端图片裁剪和生成缩略图功能分享
裁剪示例:
最终裁剪成的图片:
其中虚线框内就是要裁剪出来的图片,最终保存成100宽的图片。代码如下:
$src_path = '1.jpg';
//创建源图的实例
$src = imagecreatefromstring(file_get_contents($src_path));
//裁剪开区域左上角的点的坐标
$x = 100;
$y = 12;
//裁剪区域的宽和高
$width = 200;
$height = 200;
//最终保存成图片的宽和高,和源要等比例,否则会变形
$final_width = 100;
$final_height = round($final_width * $height / $width);
//将裁剪区域复制到新图片上,并根据源和目标的宽高进行缩放或者拉升
$new_image = imagecreatetruecolor($final_width, $final_height);
imagecopyresampled($new_image, $src, 0, 0, $x, $y, $final_width, $final_height, $width, $height);
//输出图片
header('Content-Type: image/jpeg');
imagejpeg($new_image);
imagedestroy($src);
imagedestroy($new_image);
其实如果坐标为(0,0),裁剪区域的宽高和源图的宽高一致,那么就是生成缩略图的功能了。
总结
这里只列出了php裁剪图片的示例,属于服务端的功能。如果客户端有需要,推荐一个jquery的插件imageAreaSelect,兼容性非常不错。
相关推荐
-
php上传图片生成缩略图(GD库)
首先来一段简单的php上传图片生成缩略图的详细代码,分享给大家供大家参考,具体内容如下 <?php function createThumbnail($imageDirectory, $imageName, $thumbDirectory, $thumbWidth, $quality){ $details = getimagesize("$imageDirectory/$imageName") or die('Please only upload images.'); $type
-
php生成圆角图片的方法
本文实例讲述了php生成圆角图片的方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: <?php $image_file = $_GET['src']; $corner_radius = isset($_GET['radius']) ? $_GET['radius'] : 20; // The default corner radius is set to 20px $topleft = (isset($_GET['topleft']) and $_GET['topleft'] ==
-
PHP用GD库生成高质量的缩略图片
以下是PHP源代码(ResizeImage.php). 复制代码 代码如下: <?php $FILENAME="image.thumb"; // 生成图片的宽度 $RESIZEWIDTH=400; // 生成图片的高度 $RESIZEHEIGHT=400; function ResizeImage($im,$maxwidth,$maxheight,$name){ $width = imagesx($im); $height = imagesy($im); if(($maxwidt
-
php实现上传图片生成缩略图示例
功能很简单,代码中有注释,直接给大家上代码了 复制代码 代码如下: <?php/** * 上传图片生成缩略图 * * 需要GD2库的支持 * * 初始化时需要参数new thumbnails('需要缩略的图片的原始地址','缩略图的宽度','缩略图的高度','(可选参数)缩略图的保存路径'); * 如果最后一个参数不指定,那么缩略图就默认保存在原始图片的所在目录里的small文件夹里, * 如果不存在small文件夹,则会自动创建small文件夹 * * 初始化之后需要调用方法produc
-
php 生成文字png图片的代码
复制代码 代码如下: <? /* php生成文字png图片,可以使用如下方式调用函数: http://www.yourdomian.com/text_png.php3?msg=helloworld+class&rot=15&size=48&font=fonts/ARIAL.TTF */ Header("Content-type: image/png"); class textPNG { var $font = 'fonts/TIMES.TTF'; //默认
-
php gd2 上传图片/文字水印/图片水印/等比例缩略图/实现代码
复制代码 代码如下: <?php //上传文件类型列表 $uptypes=array( 'image/jpg', 'image/jpeg', 'image/png', 'image/pjpeg', 'image/gif', 'image/bmp', 'image/x-png' ); $max_file_size = 200000; //上传文件大小限制, 单位BYTE $path_im = "prod_img/"; //生成大图保存文件夹路径 $path_sim = "
-
php图片的裁剪与缩放生成符合需求的缩略图
图片太大且规格不统一,显示的控制需要靠JavaScript来完成,用在移动设备上时显示效果不好且流量巨大,需要对现有图片库的图片进行一次处理,生成符合移动设备用的缩略图,将原来客户端JS做的工作转移到服务器端用PHP的GD库来集中处理. 图片源与需要的大小: 复制代码 代码如下: $src_img = "wallpaper.jpg"; $dst_w = 300; $dst_h = 200; 剪裁图像,保证图像区域最大化显示,并按比例缩放到指定大小. 一开始采用了 imagecopyre
-
基于GD2图形库的PHP生成图片缩略图类代码分享
要使用PHP生成图片缩略图,要保证你的PHP服务器安装了GD2图形库 使用一个类生成图片的缩略图 1.使用方法 $resizeimage = new resizeimage("图片源文件地址", "200", "100", "0","缩略图地址"); //就只用上面的一句话,就能生成缩略图,其中,源文件和缩略图地址可以相同,200,100分别代表宽和高 2. 缩略图类代码 //使用如下类就可以生成图片缩略图
-
PHP生成图片验证码、点击切换实例
这里来看下效果: 现在让我们来看下 PHP 代码 复制代码 代码如下: <?php session_start(); function random($len) { $srcstr = "1a2s3d4f5g6hj8k9qwertyupzxcvbnm"; mt_srand(); $strs = ""; for ($i = 0; $i < $len; $i++) { $strs .= $srcstr[mt
-
PHP文字转图片功能原理与实现方法分析
本文实例讲述了PHP文字转图片功能.分享给大家供大家参考,具体如下: 这项功能主要用于对邮箱地址.手机等可能被网络爬虫抓取的重要信息的处理.将文字转化为图片绝对是个好注意.验证码的基本生成原理也与此差不多,只是对再对文字转化为图片的生成过程再复杂化,让扫描机器无法识别.php的文字转图片很简单,先在php的安装目录打开php.ini,找到extension=php_gd2.dll,将其前面的引号去掉,打开php的gd2扩展库,就能直接使用php的关键字,将文字转图片. 目录结构如下,img_ge
-
php 生成随机验证码图片代码
复制代码 代码如下: <?php /** 默认首页 **/ class DefaultController extends AppController { public function index() { $len = 5; $str = "ABCDEFGHIJKLNMPQRSTUVWXYZ123456789"; $im = imagecreatetruecolor ( 70, 20 ); $bgc = imagecolorallocate($im, 255, 255, 255
随机推荐
- jQuery实现商品活动倒计时
- node.js 用socket实现聊天的示例代码
- IIS 关闭HTTPERR(IIS日志)的方法
- 探讨C++中不能声明为虚函数的有哪些函数
- 简单实用的网页表格特效
- JavaScript 私有成员分析
- JS 中LocalStorage和SessionStorage的使用
- javascript特效实现——当前时间和倒计时效果的简单实例
- 详解mvc使用JsonResult返回Json数据
- php数据库连接时容易出错的特殊符号问题
- PHP中字符与字节的区别及字符串与字节转换示例
- C语言指针应用简单实例
- 简析SQL Server数据库用视图来处理复杂的数据查询关系
- jQuery实现的自适应焦点图效果完整实例
- bootstrap弹出层的多种触发方式
- Java 多用户登录限制的实现方法
- java volatile关键字使用方法及注意事项
- 怎样才能成为PHP高手?学会“懒惰”的编程
- 扩展IP地址
- 详解Springboot整合Dubbo之代码集成和发布