2017-11-29 2 views
1

Wie ändere ich die Bildauflösung mit Imagick? Ich habe gelernt und bemerken, dass setResolution Bilddichte ändern, aber nicht Auflösung. Ich wünschte, die Bildauflösung zu 12800 * 800 Pixel Auflösung Bildauflösung mit imagick ändern

$image = new Imagick(); 
    $image->setResolution(72,72) ; // it change only image density. 
    $image->readImage($img); 

Antwort

1

Was Sie suchen setImageResolution ist zu machen. Weitere Informationen here

Dies in Kombination mit resampleImage sollte das gewünschte Ergebnis liefern. link

$image = new Imagick(); 
$image->setImageResolution(12800,800) ; // it change only image density. 
$image->resampleImage (12800,800,imagick::FILTER_UNDEFINED,1); 
$image->readImage($img); 

die auf this page Informationen und Kopieren:

Diese Methode verwendet die "convert -Dichte {$ x_resolution} x {$ y_resolution}" Parameter. Beachten Sie jedoch, dass Imagick :: setResolution() der Option "convert -density" ähnlicher ist als Imagick :: setImageResolution()

Es ist sehr irritierend, dass sowohl Imagick :: setResolution() als auch Imagick :: setImageResolution () werden mit "Setzt die Bildauflösung" eingeführt.

+0

Nein, es werden keine Änderungen an der Auflösung vorgenommen. egal welcher Wert ich in setImageResolution gesetzt habe. eigentlich muss es zuerst das Objekt lesen ... – tomtom

+0

@tomtom Ich habe einige weitere Informationen zu meiner Antwort hinzugefügt. – Jordumus

+0

Danke, aber sogar als es keine Änderungen an der Auflösung macht .. – tomtom