Вопрос
Можно ли создавать изображения с помощью PHP (вместо простой ссылки на них через HTML), и если да, то куда мне следует обратиться в первую очередь, чтобы узнать об этом?
Решение
Я предпочитаю библиотека ГД - проверить Примеры, и этот пример:
<?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);
?>
Выходы:
(источник: php.net)
Видеть imagecreatetruecolor.
Другие советы
Да, это возможно.Я считаю, что для этого существует несколько библиотек.Вероятно, наиболее широко используется ИзображениеМагия который на самом деле не является специфичным для PHP, но имеет соответствующие привязки.
См. также в PHP-документация.
Проверить ГД.Он содержит массу функций для создания, манипулирования и опроса изображений.Ваша установка PHP просто должна быть построена с использованием библиотеки GD, что, вероятно, и было.
Для достойных руководств по созданию изображений с использованием PHP:
ГД - http://devzone.zend.com/node/view/id/1269
ИзображениеМагия - http://www.sitepoint.com/article/dynamic-images-imagemagick
MagickWand тоже очень хорош для этого и довольно мощный.
http://www.bitweaver.org/doc/magickwand/index.html
Этот фрагмент возьмет изображение, напишет «розу» в Vera или любой другой доступный шрифт и загрузит изображение в браузер.
$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);
}
вы можете использовать библиотеку gd с разными функциями.и создайте хорошее изображение с помощью кода
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);
цвет на негатив
if(!file_exists('dw-negative.png')) {
$img = imagecreatefrompng('dw-manipulate-me.png');
imagefilter($img,IMG_FILTER_NEGATE);
imagepng($img,'db-negative.png');
imagedestroy($img);
}