阅读量:0
要在 PHP 中将其他格式的图片转换为 WebP 格式,您可以使用 GD 库或 ImageMagick
方法1:使用 GD 库
- 首先确保您的服务器安装了 GD 库和 WebP 支持。创建一个 phpinfo 文件(例如 info.php),并添加以下代码:
<?php phpinfo(); ?>
访问此文件,查看是否已启用 GD 库和 WebP 支持。
- 使用以下示例代码将 JPEG/PNG 图像转换为 WebP:
<?php function convertToWebP($source, $destination, $quality = 80) { if (!file_exists($source)) { echo "Source image not found."; return false; } // 获取源图像的类型 $imageType = exif_imagetype($source); switch ($imageType) { case IMAGETYPE_JPEG: $image = imagecreatefromjpeg($source); break; case IMAGETYPE_PNG: $image = imagecreatefrompng($source); break; default: echo "Unsupported image type."; return false; } // 将源图像保存为 WebP 格式 $success = imagewebp($image, $destination, $quality); imagedestroy($image); if ($success) { echo "Image successfully converted to WebP."; } else { echo "Error converting image to WebP."; } return $success; } $sourceImage = 'path/to/your/input/image.jpg'; $destinationImage = 'path/to/your/output/image.webp'; $quality = 80; // 设置 WebP 图像的质量,范围从 0(最差)到 100(最好) convertToWebP($sourceImage, $destinationImage, $quality); ?>
将 $sourceImage
和 $destinationImage
变量更改为您的输入和输出图像路径。
方法2:使用 ImageMagick
- 首先确保您的服务器安装了 ImageMagick 和 WebP 支持。在命令行中运行以下命令:
convert -version
查看是否已启用 WebP 支持。
- 使用以下示例代码将 JPEG/PNG 图像转换为 WebP:
<?php function convertToWebP($source, $destination, $quality = 80) { if (!file_exists($source)) { echo "Source image not found."; return false; } // 使用 ImageMagick 将源图像转换为 WebP $command = "convert \"{$source}\" -quality {$quality} \"{$destination}\""; $output = []; $result = null; exec($command, $output, $result); if ($result === 0) { echo "Image successfully converted to WebP."; } else { echo "Error converting image to WebP."; } return $result === 0; } $sourceImage = 'path/to/your/input/image.jpg'; $destinationImage = 'path/to/your/output/image.webp'; $quality = 80; // 设置 WebP 图像的质量,范围从 0(最差)到 100(最好) convertToWebP($sourceImage, $destinationImage, $quality); ?>
将 $sourceImage
和 $destinationImage
变量更改为您的输入和输出图像路径。
这两种方法都可以将 JPEG 和 PNG 图像转换为 WebP 格式。根据您的需求和服务器配置选择合适的方法。