php - 如何使用 PHP 调整图像大小并同时保留分辨率?

标签 php image-processing imagemagick resolution image-resizing

我想知道是否有一种方法可以使用 GD 或 ImageMagick 等库来调整一批图像的大小,从而在保留其分辨率的同时缩小图像的大小?

目前,我从一个非常大的图像(大约 3500 X 2400 @ 300ppi)开始,当我尝试缩小图像大小(到大约 1000 X 775)时,我得到了正确尺寸的大图像,但分辨率下降至 72ppi(经 Photoshop 确认)。

$im = new Imagick();
//Initial resolution of image
$im->setResolution(300,300);

$im->readImage('mypdf.pdf');
$im->adaptiveResizeImage(707,1000);

我还使用过:

$image->resizeImage(707,1000, imagick::FILTER_LANCZOS, 0.9, true);

但最终的结果几乎是一样的。提前致谢。欢迎任何建议。

阅读完这里的建议后,我的代码现在看起来是这样的

$im = new Imagick();
$im->setResolution(300,300);

$im->readImage('mypdf.pdf');
$im->setImageUnits(imagick::RESOLUTION_PIXELSPERINCH);
$im->adaptiveResizeImage(707,1000);
$im->setResolution(300,300);
$im->setImageFormat( "jpg" );
$originalImageFile = 'myjpg.jpg';
$im->writeImage($originalImageFile);$im->setResolution(300,300);

输出图像的质量非常低,如下所示

http://i46.tinypic.com/ehfyf8.jpg

最佳答案

查看这里的第一条评论:

http://php.net/manual/en/imagick.setresolution.php

除了设置分辨率之外,您还必须设置分辨率单位:

$im->setImageUnits(imagick::RESOLUTION_PIXELSPERINCH);

关于php - 如何使用 PHP 调整图像大小并同时保留分辨率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10934156/

相关文章:

php - Magento 配置具有 100 种排列的产品

相机中的 OpenCV 捕获会产生类似噪声的图像

ruby-on-rails - 回形针调整大小并裁剪为矩形

pdf - 使用 Imagemagick 在 PDF 中居中 .jpg 图像?

php - 在 Imagemagick for linux 中,如何对目录进行批量转换

php - 使用 $_GET 字符串传递换行符

php - 特定条件下的 MySQL COUNT() 总帖子数?

windows - 如何使用 JpegTran 在使用 Windows 的目录中递归处理所有图像并覆盖它们?

php - MYSQL和PHP每天和每月计算订单表的总价,填充新的汇总表