如何使用Imagick将图像的DPI从72DPI更改为300DPI

3

我有一张72DPI的图片,需要将其转换为300DPI以用于打印目的。我希望使用imagick来完成所有必要的操作,但尝试了以下代码后没有得到积极的结果。

<?
$im = new Imagick();
$im->setResolution(72,72);
$im->setOption('density','300x300');
$im->readImage("test.png");
header("Content-Type: image/png");
echo $im;
?>

有人能帮我澄清一下setoption的用法吗?或者有人能解释一下如何在iMagick或GD中更改DPI吗?


尝试使用 $im->setImageResolution(300, 300) 替代 setOption 调用。 - Orangepill
嗨,Orangepill,谢谢你,但是它没有起作用! - San
1个回答

4
我想这就是你想要的:

我已将分辨率设置为像素/英寸,具体数值为300 dpi:

<?php
$im = new Imagick();
$im->setImageUnits(imagick::RESOLUTION_PIXELSPERINCH);
$im->setImageResolution(300,300);
$im->readImage("test.png");
$im->setImageFormat("png");
header("Content-Type: image/png");
echo $im;
?>

希望这能对您有所帮助!

嗨,ITChristian,谢谢你,那真的很有帮助,但在我的服务器上没有起作用,即使是$im->setImageResolution(300,300);也没有执行,只有$im->setResolution(300,300);可以运行。 - San
啊,终于完成了,代码能够工作了,谢谢 ITChristian :) - San
@San,setImageResolution对我不起作用,你是怎么让它工作的? - Fahad Abbasi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接