如何使用 imagick 扩展更改图像的 dpi
我需要将所有上传的文件更改为 72 dpi。 我正在使用 php imagick 扩展。
这是我尝试过的(我使用的图像是 300dpi):
$image = new Imagick();
$image->setResolution(72,72) ;
$image->readImage($img);
$image->resampleImage (72,72,imagick::FILTER_UNDEFINED,1);
$image->writeImage($target)
这似乎没什么。 图像正在上传,但保持在 300dpi
I need to change all uploaded files to 72 dpi.
I'm using the php imagick extension.
heres what i've tried (the image i'm using is 300dpi):
$image = new Imagick();
$image->setResolution(72,72) ;
$image->readImage($img);
$image->resampleImage (72,72,imagick::FILTER_UNDEFINED,1);
$image->writeImage($target)
this doesn't seem to anything.
the image is uploading, but stays at 300dpi
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
MatTheCat 的回答是正确的。您还可以尝试
setImageUnits()
以确保它使用英寸而不是厘米。仅仅为了改变 dpi 就不需要重新采样。
请注意,单独更改 dpi 不会影响文件大小,仅适用于重新采样和打印。
MatTheCat's answer is spot on. You might also try
setImageUnits()
to ensure it's working with inches and not centimeters.Resampling isn't necessary just to change dpi.
Note that changing the dpi alone will not affect file size and only applies to resampling and printing.
看来你必须使用 setImageResolution 而不是 setResolution : http:// www.php.net/manual/fr/function.imagick-setresolution.php#95533
It seems you have to use setImageResolution rather than setResolution : http://www.php.net/manual/fr/function.imagick-setresolution.php#95533
使用它与 imagick 扩展一起工作:
use this its work with imagick extension :