PHP一个方法调整图像大小(生成缩略图)
2018-01-30 10:05
585 查看
背景:
天气很冷
PHP代码:
使用方法:
天气很冷
PHP代码:
/** * @param $imagedata 图像数据 * @param $width 缩放宽度 * @param $height 缩放高度 * @param int $per 缩放比例,为0不缩放,>0忽略参数2、3的宽高 * @return bool|string */ function image_resize($imagedata, $width, $height, $per = 0) { // 1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM // 获取图像信息 list($bigWidth, $bigHight, $bigType) = getimagesizefromstring($imagedata); // 缩放比例 if ($per > 0) { $width = $bigWidth * $per; $height = $bigHight * $per; } // 创建缩略图画板 $block = imagecreatetruecolor($width, $height); // 启用混色模式 imagealphablending($block, false); // 保存PNG alpha通道信息 imagesavealpha($block, true); // 创建原图画板 $bigImg = imagecreatefromstring($imagedata); // 缩放 imagecopyresampled($block, $bigImg, 0, 0, 0, 0, $width, $height, $bigWidth, $bigHight); // 生成临时文件名 $tmpFilename = tempnam(sys_get_temp_dir(), 'image_'); // 保存 switch ($bigType) { case 1: imagegif($block, $tmpFilename); break; case 2: imagejpeg($block, $tmpFilename); break; case 3: imagepng($block, $tmpFilename); break; } // 销毁 imagedestroy($block); $image = file_get_contents($tmpFilename); unlink($tmpFilename); return $image; }
使用方法:
header("content-type:image/png"); // 缩放图像 echo image_resize(file_get_contents('xxx.png'), 100, 100);
相关文章推荐
- PHP生成缩略图的一个方法类(转)
- php实现按指定大小等比缩放生成上传图片缩略图的方法
- php 修改图片的大小、裁剪图片以及生成缩略图方法
- php图片缩放代码-按比例缩放或截取指定大小的缩略图 非常好用的一个方法
- php实现按指定大小等比缩放生成上传图片缩略图的方法
- php实现按指定大小等比缩放生成上传图片缩略图的方法
- 以图片的中心为基准,按照任意尺寸自动调整大小并截取出规定的素材,保存为缩略图或以php形式输出为图片
- 把网上的图片取下来生成缩略图,以前在CSDN的一个朋友教的方法.
- 深入探讨PHP生成缩略图的实现方法
- PHP做视频网站,让程序自动实现视频格式转换、设置视频大小、生成视频缩略图
- php gd库生成缩略图的方法
- 使用PHP生成二维码的两种方法(带logo图像)
- 生成缩略图的一个方法
- php按指定大小等比缩放生成上传图片缩略图
- 分享一个牛逼的PHP无限极分类生成树方法,巧用引用
- PHP实现图像上传并生成缩略图
- 一个用来快速生成指定大小的随机不重复int数组的实用方法
- PHP生成验证码时“图像因其本身有错无法显示”的解决方法
- PHP生成UUID的一个方法
- 分享一个牛逼的PHP无限极分类生成树方法,巧用引用(转)