Изображения в PHP

Можно ли создавать изображения с помощью PHP (в отличие от простой ссылки на них через HTML), и если да, то где мне в первую очередь узнать об этом?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
6
0
512
7
Перейти к ответу Данный вопрос помечен как решенный

Ответы 7

Да, это возможно. Я считаю, что для этого есть несколько библиотек. Наиболее широко используется, вероятно, ImageMagick, который на самом деле не специфичен для PHP, но имеет соответствующие привязки.

См. Также в Документация PHP.

Проверьте GD. Он содержит массу функций для создания изображений, манипуляций и запросов. Ваша установка PHP просто должна быть собрана с библиотекой GD, что, вероятно, и было.

PHP GD

Груша Image_CanvasImage_Graph для графиков)

Это те двое, о которых я знаю.

Ответ принят как подходящий

Я предпочитаю Библиотека GD - посмотрите Примеры и этот пример:

<?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);
?>

Выходы:

imagecreatetrucolor example
(source: php.net)

См. imagecreatetruecolor.

Вы всегда должны пытаться использовать функцию header () в последний возможный момент (например, перед функцией imagepng ()). Как это происходит сейчас, если php-скрипт умирает «Невозможно инициализировать новый поток изображений GD», браузер попытается интерпретировать его как gif, поэтому он будет непонятен.

stalepretzel 07.09.2008 04:25

Для получения достойных руководств по созданию изображений с помощью PHP:

GD - http://devzone.zend.com/node/view/id/1269

ImageMagick - 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);
}

Другие вопросы по теме