当前位置:首页 > PHP

php实现图片转换

2026-04-03 08:03:37PHP

图片格式转换

使用PHP的GD库或Imagick扩展可以轻松实现图片格式转换。GD库是PHP默认的图像处理库,而Imagick提供了更丰富的功能。

通过GD库将JPEG转换为PNG:

$sourceImage = imagecreatefromjpeg('input.jpg');
imagepng($sourceImage, 'output.png');
imagedestroy($sourceImage);

通过Imagick转换图片格式:

$image = new Imagick('input.jpg');
$image->setImageFormat('png');
$image->writeImage('output.png');
$image->clear();

图片缩放

使用GD库调整图片尺寸:

$sourceImage = imagecreatefromjpeg('input.jpg');
$width = imagesx($sourceImage);
$height = imagesy($sourceImage);
$newWidth = 200;
$newHeight = 150;

$thumb = imagecreatetruecolor($newWidth, $newHeight);
imagecopyresized($thumb, $sourceImage, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
imagejpeg($thumb, 'thumbnail.jpg');
imagedestroy($thumb);
imagedestroy($sourceImage);

使用Imagick保持宽高比缩放:

$image = new Imagick('input.jpg');
$image->resizeImage(200, 150, Imagick::FILTER_LANCZOS, 1, true);
$image->writeImage('thumbnail.jpg');
$image->clear();

图片水印添加

使用GD库添加文本水印:

$image = imagecreatefromjpeg('input.jpg');
$textColor = imagecolorallocate($image, 255, 255, 255);
imagettftext($image, 20, 0, 10, 30, $textColor, 'arial.ttf', 'Watermark');
imagejpeg($image, 'watermarked.jpg');
imagedestroy($image);

使用Imagick添加图片水印:

php实现图片转换

$image = new Imagick('input.jpg');
$watermark = new Imagick('watermark.png');
$image->compositeImage($watermark, Imagick::COMPOSITE_OVER, 10, 10);
$image->writeImage('watermarked.jpg');
$image->clear();
$watermark->clear();

图片滤镜应用

使用GD库应用黑白滤镜:

$image = imagecreatefromjpeg('input.jpg');
imagefilter($image, IMG_FILTER_GRAYSCALE);
imagejpeg($image, 'bw.jpg');
imagedestroy($image);

使用Imagick应用模糊效果:

$image = new Imagick('input.jpg');
$image->blurImage(5, 3);
$image->writeImage('blurred.jpg');
$image->clear();

图片旋转

使用GD库旋转图片:

$image = imagecreatefromjpeg('input.jpg');
$rotated = imagerotate($image, 45, 0);
imagejpeg($rotated, 'rotated.jpg');
imagedestroy($image);
imagedestroy($rotated);

使用Imagick旋转图片:

php实现图片转换

$image = new Imagick('input.jpg');
$image->rotateImage(new ImagickPixel('none'), 45);
$image->writeImage('rotated.jpg');
$image->clear();

图片裁剪

使用GD库裁剪图片:

$image = imagecreatefromjpeg('input.jpg');
$cropped = imagecrop($image, ['x' => 100, 'y' => 100, 'width' => 200, 'height' => 200]);
imagejpeg($cropped, 'cropped.jpg');
imagedestroy($image);
imagedestroy($cropped);

使用Imagick精确裁剪:

$image = new Imagick('input.jpg');
$image->cropImage(200, 200, 100, 100);
$image->writeImage('cropped.jpg');
$image->clear();

图片压缩

使用GD库控制JPEG质量:

$image = imagecreatefromjpeg('input.jpg');
imagejpeg($image, 'compressed.jpg', 75); // 75%质量
imagedestroy($image);

使用Imagick优化图片:

$image = new Imagick('input.jpg');
$image->setImageCompressionQuality(75);
$image->stripImage(); // 移除元数据
$image->writeImage('optimized.jpg');
$image->clear();

标签: 图片php
分享给朋友:

相关文章

vue实现图片取色

vue实现图片取色

Vue 实现图片取色功能 使用 Canvas API 提取颜色 在 Vue 项目中,可以通过 Canvas API 实现图片取色功能。创建一个组件,利用 ref 获取图片元素并绘制到 Canvas 上…

php实现购物车

php实现购物车

PHP实现购物车功能 购物车功能是电商网站的核心模块之一,通常涉及商品添加、删除、数量修改和结算等操作。以下是使用PHP实现购物车功能的几种方法。 使用Session存储购物车数据 Session是…

php实现表单

php实现表单

PHP 表单基础实现 创建一个简单的 PHP 表单需要 HTML 表单结构和 PHP 处理脚本。以下是一个完整的示例: HTML 表单部分 (form.html) <form action=…

css制作图片

css制作图片

使用CSS创建图片效果 CSS可以通过多种方式实现图片的显示、处理和特效。以下是几种常见的方法: 使用background-image属性 在CSS中可以通过background-image属性将图…

php实现跳转

php实现跳转

PHP 实现页面跳转的方法 在 PHP 中实现页面跳转有多种方式,以下是常见的几种方法及其适用场景: 使用 header() 函数 通过 header() 函数发送 HTTP 头部信息实现跳转。注意…

vue实现图片取色

vue实现图片取色

Vue 实现图片取色功能 在 Vue 中实现图片取色功能,可以通过 Canvas API 获取图片像素数据,并提取颜色信息。以下是具体实现方法: 使用 Canvas 获取图片颜色数据 创建 Canv…