我想知道是否有一种方法可以使用 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://php.net/manual/en/imagick.setresolution.php
除了设置分辨率之外,您还必须设置分辨率单位:
$im->setImageUnits(imagick::RESOLUTION_PIXELSPERINCH);
关于php - 如何使用 PHP 调整图像大小并同时保留分辨率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10934156/