2016-04-10 17 views
3

Ich versuche herauszufinden, wie man ein Bild DPI mit PHP und Imagic erhöhen kann.PHP: Ändern DPI eines Bildes mit Imagick?

Jedes Mal, wenn ich den folgenden Code verwende, gibt meine Seite einen Fehler von 500 zurück!

Dies ist der Code:

$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; 

Ich weiß Bild Magie, wie ich einen VPS installiert ist, und ich habe auch versucht, diesen Code bin mit der gut arbeitet:

<?php 
exec("/usr/bin/convert bb9yuui70.png -bordercolor black -border 10x10 bb9yuui70.png"); 
?> 
<img src="bb9yuui70.png"> 

Gibt es, dass etwas, was ich vermisse ich? Ich bin ziemlich neu in der Welt der Imagine.

jede Hilfe wäre willkommen.

Antwort

4

500 Serverfehler → Schauen Sie sich auf Web-Server Fehler protokollieren und Sie werden sehen:

Fatal error: Class 'Imagick' not found

oder

Fatal error: Uncaught exception 'ImagickException' with message 'Can not process empty Imagick object'...

Wenn Sie den ersten Fehler zu sehen, müssen Sie Imagick installieren PHP-Modul (es ist nicht genug, imagemagick installiert zu haben).

Aber auch mit Imagick installiert ist, nicht der Code, da Sie erste das Bild zu laden haben, dann Einheiten einstellen, Auflösung, etc ...

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

Tatsächlich können zwei oben genannte Fehler auch angezeigt werden, ohne Webserver Logfile anzusehen: das nächste Mal, setzen Sie ini_set('display_errors', 1); error_reporting(E_ALL); oben auf Ihrem Skript und Sie werden die meisten Fehler direkt auf Ihrer Seite sehen (dann entfernen Sie es auf Produktion) .

Verwandte Themen