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
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.
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.
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.
Für anständig Tutorials auf der Bilderzeugung mit PHP:
GD - http://devzone.zend.com/node/view/id/1269
ImageMagick - http://www.sitepoint.com/article/dynamic-images-imagemagick
+1 ja, gutes Tutorial in der Tat, danke! – markus
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);
}
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);
}
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