2009-06-30 12 views
0

Ich möchte in der Lage sein, Bilder, von denen viele sehr lange vertikal sind ... von 2000 bis 4000px, immer bei 800 zu trimmen. So nur den oberen Teil des Bildes zu bekommen. Ich möchte dies dann auf eine Seite/einen Bericht mit PHP ausgeben, ohne das resultierende zugeschnittene Bild zu speichern.Trimmen eines Bildes für temporäre Verwendung in PHP

Ist $ imagepng-> der beste Weg, dies zu tun?

Antwort

1

Sie würden so etwas tun:

$srcName = 'source.png'; 

$info = getimageinfo($srcName); 
$src = imagecreatefrompng($srcName); 

// Create a new image up to 800px tall 
$dest = imagecreate($info[0], min($info[1], 800)); 
imagecopy($dest, $src, 0, 0, 0, 0, $info[0], min($info[1], 800)); 

// Output 
header('Content-type: image/png'); 
imagepng($dest); 
0

GD ist, was imagepng verwendet und es ist die am weitesten unterstützten Art und Weise die Bildbearbeitung in PHP zu tun, so dass es eine ziemlich sichere Wette ist, vor allem wenn Sie sind Sie möchten Ihren Code auf Servern bereitstellen, die Sie nicht kontrollieren.

Eine Alternative wäre, ImageMagick zu betrachten, obwohl ich GD in den meisten Fällen ein wenig schneller finde.

Verwandte Themen