目录
- 方法一:使用 GD 库或 ImageMagick 库。
- 方法二:使用ThinkPHP的图像处理扩展
- 结语:
方法一:使用 GD 库或 ImageMagick 库。
- 这里是一个使用 GD 库的示例:
<?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);
?>
- 原图
- 缩放效果
方法二:使用ThinkPHP的图像处理扩展
- 本示例版本:
php:5.0
think-image:1.0
- 安装扩展:
composer require topthink/think-image
- 代码示例
$image = \\think\\Image::open(\’./image.png\’);
// 按照原图的比例生成一个最大为150*150的缩略图并保存为thumb.png
$image->thumb(150, 150)->save(\’./thumb.png\’);
- 参考文档:图像处理 · ThinkPHP5.0完全开发手册 · 看云
- 原图
- 缩放效果
结语:
方法一 使用GD库尺寸更加精确,但是会造成变形
方法二尺寸上会与设置有所不同,但不会变形
到此这篇关于PHP图片指定宽高缩放的两种实现方法的文章就介绍到这了,更多相关PHP图片指定宽高缩放内容请搜索悠久资源网以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源网!
您可能感兴趣的文章:
- php缩放图片(根据宽高的等比例缩放)实例介绍
- php初学者教程之图片缩放和裁剪
- PHP实现将上传图片自动缩放到指定分辨率,并保持清晰度封装类示例
- PHP实现图片的等比缩放和Logo水印功能示例
- PHP图片裁剪与缩放示例(无损裁剪图片)
- php实现等比例不失真缩放上传图片的方法