使用PHP GD/Imagick获取/设置DPI?

kae*_*ese 12 php image-processing imagick

我正在构建一个Web应用程序,它将处理最终将以大格式打印的图像文件.

作为其中的一部分,我需要获取(即读取)并设置(即更改)图像文件的DPI.

这可能通过PHP GD或PHP Imagick实现吗?

谢谢,

BK


编辑:

可以通过iMagick的getImageResolution方法访问图像的DPI :

public function getDPI() {

    $imgDPI = $this->image->getImageResolution();
    return $imgDPI;

}
Run Code Online (Sandbox Code Playgroud)

并且可以通过iMagick的setImageResolution方法设置图像的DPI :

public function setDPI($DPIX, $DPIY) {

    $this->image->setImageResolution($DPIX,$DPIY);

}
Run Code Online (Sandbox Code Playgroud)

Pek*_*ica 2

在 GD 输出的原始位图格式中,dpi 设置仅仅是处理应用程序用于将像素大小转换为物理单位的元信息。

据我所知,在GD中直接操作元数据是不可能的。为此,您必须使用外部库。

也就是说,我认为这实际上没有必要。只需生成您需要的任何像素尺寸的图像(像素数是真正相关的信息!),并告诉打印过程要使用什么 dpi 设置。