Tobias: PHP imageick cropimage passt nicht

Hallo,

ich weiß nicht, was ich hier falsch mache.

$this->imagick->cropimage(1000,500,0,0);

Das original Bild hat eine Größe von 1096x877 px. Wenn ich es dann versuche zuzuschneiden, hat es nur noch das Maß 559x3 px.

Was ganz kurios ist...wenn ich folgendes ändere, hat das Bild das Maß 659x3 px. Warum?

$this->imagick->cropimage(1096,877,100,0);
  1. Hallo,

    ich weiß nicht, was ich hier falsch mache.

    $this->imagick->cropimage(1000,500,0,0);
    

    Fängst du das Ergebnis (true / Fehlermeldung) auf? Was steht drin?

    Gruß
    Kalk

    1. Wie soll ich hier eine Fehlermeldung abfangen?

      Als Result gibt er hier "1" wieder...

  2. Hier wäre mal noch das ganze Script - mit dem Bild

    $imagick = new Imagick("image.png");
    $test = $imagick->cropimage(1096,877,0,0);
    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
    

    Und das Bild findet Ihr unter folgender URL

    https://www.slewo.com/static/gfx/artikel/100012878-1.png

    1. Ich bin schgon ein Stück weiter gekommen - es liegt an der Auflösung. Wenn das Bild 150x150 DPI hat, dann passt das mit gropimage nicht mehr. Ich habe bereits mit $imagick->setImageResolution(72,72); versucht die Auflösung zu ändern - allerdings bringt das auch nicht die Lösung. Nur wenn ich es im Photoshop hochlade und wird das Bild korrekt angezeigt. Hat jemand eine Idee?

      1. Hallo,

        Ich bin schgon ein Stück weiter gekommen - es liegt an der Auflösung. Wenn das Bild 150x150 DPI hat, dann passt das mit gropimage nicht mehr.

        ich will jetzt nicht behaupten, das könne nicht stimmen - aber es ist nicht plausibel. Denn die in Pixelgrafiken (JPEG, PNG, Windows-Bitmap) gespeicherte Auflösung interessiert die gängigen Grafik-Libraries meines Wissens nicht die Bohne. Es ist eine Meta-Information, die für die eigentliche Bildbearbeitung völlig belanglos ist und erst z.B. beim Ausdruck einen Sinn bekommt. Vorher hat das Bild einfach nur eine Größe in Pixeln, und die aus der dpi-Auflösung errechnete Bildgröße ist nur ein theoretischer Wert.

        Ich habe bereits mit $imagick->setImageResolution(72,72); versucht die Auflösung zu ändern - allerdings bringt das auch nicht die Lösung.

        Das hätte mich auch überrascht.

        Nur wenn ich es im Photoshop hochlade und wird das Bild korrekt angezeigt.

        Hä? Mit Photoshop hochlade und?

        Hat jemand eine Idee?

        Bis jetzt noch nicht ...

        Ciao,
         Martin

        --
        Computer müssen weiblich sein: Eigensinnig, schwer zu durchschauen, immer für Überraschungen gut - aber man möchte sie nicht missen.