PHP实现图片指定宽高缩放的两种方法

2024-03-01 0 917
目录
  • 方法一:使用 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);
?>

  • 原图

PHP实现图片指定宽高缩放的两种方法

  • 缩放效果

PHP实现图片指定宽高缩放的两种方法

方法二:使用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完全开发手册 · 看云
  • 原图

PHP实现图片指定宽高缩放的两种方法

  • 缩放效果

PHP实现图片指定宽高缩放的两种方法

结语:

方法一 使用GD库尺寸更加精确,但是会造成变形

方法二尺寸上会与设置有所不同,但不会变形

到此这篇关于PHP图片指定宽高缩放的两种实现方法的文章就介绍到这了,更多相关PHP图片指定宽高缩放内容请搜索悠久资源网以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源网!

您可能感兴趣的文章:

  • php缩放图片(根据宽高的等比例缩放)实例介绍
  • php初学者教程之图片缩放和裁剪
  • PHP实现将上传图片自动缩放到指定分辨率,并保持清晰度封装类示例
  • PHP实现图片的等比缩放和Logo水印功能示例
  • PHP图片裁剪与缩放示例(无损裁剪图片)
  • php实现等比例不失真缩放上传图片的方法

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 PHP PHP实现图片指定宽高缩放的两种方法 https://www.u-9.cn/biancheng/php/182101.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务