2008-08-24 12 views
6

Ist es möglich, Bilder mit PHP zu erstellen (anstatt einfach per HTML mit ihnen zu verlinken) und wenn ja, wohin sollte ich zuerst gehen, um etwas über so etwas zu lernen?Bilder in PHP

Antwort

12

Ich ziehe die GD library - check out the Examples, und dieses Beispiel:

<?php 
header ("Content-type: image/png"); 
$im = @imagecreatetruecolor(120, 20) 
     or die("Cannot Initialize new GD image stream"); 
$text_color = imagecolorallocate($im, 233, 14, 91); 
imagestring($im, 1, 5, 5, "A Simple Text String", $text_color); 
imagepng($im); 
imagedestroy($im); 
?> 

Ausgänge:

imagecreatetrucolor example http://uk2.php.net/manual/en/figures/image.imagecreatetruecolor.png

imagecreatetruecolor See.

+0

Sie sollten immer versuchen, die header() Funktion im letzten Moment nutzen möglich (wie vor dem imagepng() funciton). So wie es jetzt ist, wenn das PHP-Skript stirbt "Kann den GD-Bild-Stream nicht initialisieren", wird der Browser versuchen, es als gif zu interpretieren, so dass es nicht verständlich ist. – stalepretzel

6

Ja, das ist möglich. Ich glaube, dass es mehrere Bibliotheken gibt, um dies zu erreichen. Am weitesten verbreitet ist wahrscheinlich ImageMagick, das eigentlich nicht PHP-spezifisch ist, aber mit entsprechenden Bindings kommt.

Siehe auch in der PHP documentation.

3

Auschecken GD. Es enthält eine Menge Funktionen für die Erstellung, Bearbeitung und Abfrage von Bildern. Ihre PHP-Installation muss nur mit der GD-Bibliothek erstellt werden, die es wahrscheinlich war.

0

MagickWand ist ziemlich gut für das auch, und ziemlich mächtig.

http://www.bitweaver.org/doc/magickwand/index.html

Dieser Ausschnitt wird ein Bild nehmen, wrie in Vera die 'Rose', oder was auch immer Schriften zur Verfügung, und spülen Sie das Bild an den Browser.

$drawing_wand=NewDrawingWand(); 
DrawSetFont($drawing_wand,"/usr/share/fonts/bitstream-vera/Vera.ttf"); 
DrawSetFontSize($drawing_wand,20); 
DrawSetGravity($drawing_wand,MW_CenterGravity); 
$pixel_wand=NewPixelWand(); 
PixelSetColor($pixel_wand,"white"); 
DrawSetFillColor($drawing_wand,$pixel_wand); 
if (MagickAnnotateImage($magick_wand,$drawing_wand,0,0,0,"Rose") != 0) { 
    header("Content-type: image/jpeg"); 
MagickEchoImageBlob($magick_wand); 
} else { 
echo MagickGetExceptionString($magick_wand); 
} 
0

können Sie gd-Bibliothek mit verschiedenen Funktionen davon verwenden. und gutes Image erstellen mit dem Code

header("Content-Type: image/png"); 

//try to create an image 
$im = @imagecreate(800, 600) 
or die("Cannot Initialize new GD image stream"); 

//set the background color of the image 
$background_color = imagecolorallocate($im, 0xFF, 0xCC, 0xDD); 

//set the color for the text 
$text_color = imagecolorallocate($im, 133, 14, 91); 

//adf the string to the image 
imagestring($im, 5, 300, 300, "I'm a pretty picture:))", $text_color); 

//outputs the image as png 
imagepng($im); 

//frees any memory associated with the image 
imagedestroy($im); 

Farbe Negativen

if(!file_exists('dw-negative.png')) { 
    $img = imagecreatefrompng('dw-manipulate-me.png'); 
    imagefilter($img,IMG_FILTER_NEGATE); 
    imagepng($img,'db-negative.png'); 
    imagedestroy($img); 
}