<?php // 指定图片路径 $image_path = 'path/to/your/image.jpg'; // 指定缩放后的宽度和高度 $new_width = 200; $new_height = 150; // 获取图片信息 list($width, $height, $type) = getimagesize($image_path); // 根据图片类型创建图片资源 switch ($type) { case IMAGETYPE_JPEG: $image = imagecreatefromjpeg($image_path); break; case IMAGETYPE_PNG: $image = imagecreatefrompng($image_path); break; case IMAGETYPE_GIF: $image = imagecreatefromgif($image_path); break; default: die('Unsupported image type'); } // 创建一个新的空白图像 $new_image = imagecreatetruecolor($new_width, $new_height); // 保持 PNG 和 GIF 图像的透明度 if ($type == IMAGETYPE_PNG || $type == IMAGETYPE_GIF) { imagealphablending($new_image, false); imagesavealpha($new_image, true); $transparent = imagecolorallocatealpha($new_image, 255, 255, 255, 127); imagefilledrectangle($new_image, 0, 0, $new_width, $new_height, $transparent); } // 将原图像复制到新图像并进行缩放 imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height); // 输出新图像 header('Content-Type: image/' . image_type_to_extension($type, false)); // 将新图像保存到目标路径 $target_path = 'path/to/your/image_100_150.png'; imagepng($new_image, $target_path); // 释放内存 imagedestroy($image); imagedestroy($new_image); ?>
php:5.0
think-image:1.0
composer require topthink/think-image
$image = \think\Image::open('./image.png'); // 按照原图的比例生成一个最大为150*150的缩略图并保存为thumb.png $image->thumb(null, 150)->save('./thumb.png');
方法一 使用GD库尺寸更加精确,但是会造成变形
方法二 尺寸上会与设置有所不同,但不会变形
到此这篇关于PHP图片指定宽高缩放的两种实现方法的文章就介绍到这了,更多相关PHP图片指定宽高缩放内容请搜索插件窝以前的文章或继续浏览下面的相关文章希望大家以后多多支持插件窝!