Obtenir / définir DPI avec PHP GD / Imagick?


Answers

afin d'utiliser "getImageResolution ()" vous devez être sûr que la résolution dans "PixelsPerInch" ... parfois il peut être "PixelsPerCentimeter"

utilisez le code suivant pour obtenir des informations sur l'image:

$imagick = new Imagick($filename);
$data = $imagick->identifyimage();
var_dump($data);

résultat (lorsque PixelsPerInch):

array(11) {
              ["imageName"]=> string(11) "/jpg300.jpg"
              ["format"]=> string(51) "JPEG (Joint Photographic Experts Group JFIF format)"
              ["units"]=> string(13) "PixelsPerInch"
              ["type"]=> string(9) "TrueColor"
              ["colorSpace"]=> string(3) "RGB"
              ["compression"] => string(4) "JPEG"
              ["fileSize"] => string(6) "8.72mb"
              ["mimetype"] => string(10) "image/jpeg"
              ["geometry"] => array(2) {
                        ["width"]  => int(11812)
                        ["height"] => int(7876)
              }
              ["resolution"]=> array(2) {
                    ["x"]=> float(300)
                    ["y"]=> float(300)
              }
              ["signature"]=> string(64) "7fc387ea465ec716e9fd6e233bb1d3740cb509f5667ed2a4df0199e6e664590e"
            }

ou (lorsque PixelsPerCentimeter):

    array(11) {
      ["imageName"]=> string(8) "/psm.jpg"
      ["format"]=> string(51) "JPEG (Joint Photographic Experts Group JFIF format)"
      ["units"]=> string(19) "PixelsPerCentimeter"
      ["type"]=> string(9) "TrueColor"
      ["colorSpace"]=> string(3) "RGB"
      ["compression"]=> string(4) "JPEG"
      ["fileSize"]=> string(7) "25.01mb"
      ["mimetype"]=> string(10) "image/jpeg"
      ["geometry"]=>
      array(2) {
        ["width"]=> int(11812)
        ["height"]=> int(7876)
      }
      ["resolution"]=>
      array(2) {
        ["x"]=> float(118.11)
        ["y"]=> float(118.11)
      }
      ["signature"]=> string(64) "b491e059624e79a4dee62d9cc7646019927b2222bfed9ac8dd4342185e648eaf"
    }
Question

Je construis une application Web qui va gérer les fichiers image qui seront finalement imprimés, grand format.

Dans le cadre de cela, je dois obtenir (c'est-à-dire lire) et définir (c'est-à-dire changer) le DPI d'un fichier image.

Est-ce possible via PHP GD ou PHP Imagick?

Merci,

BK

Modifier:

Le DPI d'une image est accessible via la méthode getImageResolution d' getImageResolution :

public function getDPI() {

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

}

et le DPI d'une image peut être défini via la méthode setImageResolution d' setImageResolution :

public function setDPI($DPIX, $DPIY) {

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

}





Related