16 C
Москва
31.08.2026

[ ‘title’ => ‘Лампа Мсеюлида’, ‘url’ => ‘img/item-mseyulida.jpg’, ], ‘2’ => [ ‘title’ => ‘Диван Рмаериби’, ‘url’ => ‘img/item-rmaeribi.jpg’, ], ‘3’ => [ ‘title’ => ‘Люстра Блетуб’, ‘url’ => ‘img/item-bletub.jpg’, ], ‘4’ => [ ‘title’ => ‘Рабочий стол Ннулм’, ‘url’ => ‘img/item-nnulm.jpg’, ], ‘5’ => [ ‘title’ => ‘Подвесная кровать Асусмер’, ‘url’ => ‘img/item-asusmer.jpg’, ], ‘6’ => [ ‘title’ => ‘Набор мебели Тре’, ‘url’ => ‘img/item-tre.jpg’, ], ‘7’ => [ ‘title’ => ‘Люстра как у бабушки’, ‘url’ => ‘img/item-default-old-lamp.jpg’, ], ‘8’ => [ ‘title’ => ‘Лампа Дo’, ‘url’ => ‘img/item-do.jpg’, ], ‘9’ => [ ‘title’ => ‘Печатная машинка Епеус’, ‘url’ => ‘img/item-epeus.jpg’, ], ’10’ => [ ‘title’ => ‘Стикеры Блемпере’, ‘url’ => ‘img/item-blempere.jpg’, ], ’11’ => [ ‘title’ => ‘Панно Туета’, ‘url’ => ‘img/item-tueta.jpg’, ], ’12’ => [ ‘title’ => ‘Органайзер Бреирбери’, ‘url’ => ‘img/item-breirberi.jpg’, ], ’13’ => [ ‘title’ => ‘Подушка Нмяо’, ‘url’ => ‘img/item-nmyao.jpg’, ], ’14’ => [ ‘title’ => ‘Лампа Кел’, ‘url’ => ‘img/item-kel.jpg’, ], ’15’ => [ ‘title’ => ‘Подушка Омасе’, ‘url’ => ‘img/item-omase.jpg’, ], ’16’ => [ ‘title’ => ‘Корзина Орму’, ‘url’ => ‘img/item-ormu.jpg’, ], ’17’ => [ ‘title’ => ‘Скрепки Пинас’, ‘url’ => ‘img/item-pinas.jpg’, ], ’18’ => [ ‘title’ => ‘Компакт-кассета Преум’, ‘url’ => ‘img/item-preum.jpg’, ], ’19’ => [ ‘title’ => ‘Кресло Бадета’, ‘url’ => ‘img/item-badeta.jpg’, ], ’20’ => [ ‘title’ => ‘Сувенир Рмоб’, ‘url’ => ‘img/item-rmob.jpg’, ], ’21’ => [ ‘title’ => ‘Люстра Ткуоко’, ‘url’ => ‘img/item-tkuoko.jpg’, ], ’22’ => [ ‘title’ => ‘Кресла Бриатуо’, ‘url’ => ‘img/item-briatuo.jpg’, ] ]; > function get_product_attribute($id, $attr) < $products = get_products(); $result = $products[$id][$attr] ?? null; return $result; >function get_product_title($id) < return get_product_attribute($id, 'title'); >function get_img_url($id)

Отправка почты с вложением объекта на PHP

Допустим, у нас задача — вставить в письмо, отправляемое с сайта пользователю, свой баннер (кнопку).

Сделать это можно двумя способами:

  1. Первый способ – в HTML-коде письма указываем адрес картинки, как на простой страничке . В этом случае, если пользователь читает ваше письмо online, картинка благополучно загрузится с указанного сервера и отобразится в письме. Но если пользователь не в online, картинка загрузиться не сможет.
  2. Второй способ – поместить картинку в само письмо, как прикрепленный файл, присвоить этому файлу уникальный идентификатор, а затем в теле письма при указании адреса картинки сослаться на этот идентификатор.

Таким образом, в письмо можно вставлять не только изображения, но и flash-ролики, музыку, элементы ActiveX.

Конечно, при этом размер письма увеличится, но зато мы будем уверены, что пользователь точно увидит вставляемую картинку (если конечно в его почтовой программе не отключено отображение изображений).

Чтобы присвоить идентификатор картинке, надо в разделе письма, где она располагается, поместить следующий заголовок:

где идентификатор является строкой, которая будет уникальной для данного письма (по примеру параметра boundary заголовка Content-Type).

Теперь в самом письме можно в адресе картинки подставлять ее идентификатор.

Почтовая программа проанализирует его, извлечет из соответствующей секции картинку и покажет ее.

Вот как может выглядеть письмо:

Date: Sat, 13 Mar 2004 09:56:31 -0300 Subject: Отправка изображения From: "Evgen" To: admin@localhost.ru Subject: Отправка изображения Mime-Version: 1.0 Content-Type: multipart/related; boundary="spravkaweb-1234" --spravkaweb-1234 Content-type: text/html; charset="windows-1251" Content-Transfer-Encoding: 8bit 

Привет

Это проба отправки письма с прикрепленной картинкой.
А вот и сама картинка:
--spravkaweb-1234 Content-Type: image/jpeg; name="5.jpg" Content-Transfer-Encoding:base64 Content-ID: img_1 Content-Disposition: inline /9j/4AAQSkZJRgABAQAAAQABAAD/2wBD . --spravkaweb-1234--

Как и в случае с прикрепляемыми файлами, если нам заранее неизвестно, какой тип картинки будет прикреплен, заголовку Content-Type можно присвоить значение application/octet-stream.

Для закрепления этой темы напишем программу, которая отправляет письмо с картинкой:

/* Зададим в переменной $file_name путь до вставляемой картинки. В нашем случае она находится в том же каталоге, что и файл отправки письма. Но вместо этого сюда можно подставить файл, полученный сценарием из . */ $file_name="5.jpg"; $subj="Отправка изображения"; $bound="spravkaweb-1234"; $headers="From: \"kdg\" \n"; $headers.="To: admin@localhost.ru\n"; $headers.="Subject: $subj\n"; $headers.="Mime-Version: 1.0\n"; $headers.="Content-Type: multipart/related; boundary="$bound"\n"; $body="--$bound\n"; $body.="Content-type: text/html; charset=\"windows-1251\"\n"; $body.="Content-Transfer-Encoding: 8bit\n\n"; $body.="

Привет

Это проба отправки письма с прикрепленной картинкой.
А вот и сама картинка:
"; $body.="\n\n--$bound\n"; $body.="Content-Type: image/jpeg; name=\"".basename($file_name)."\"\n"; $body.="Content-Transfer-Encoding:base64\n"; $body.="Content-ID: img_1\n\n"; $f=fopen($file_name,"rb"); $body.=base64_encode(fread($f,filesize($file_name)))."\n"; $body.="--$bound--\n\n"; mail("admin@localhost.ru", $subj, $body, $headers);

Хочу отметить, что аналогичным образом в письмо можно вставлять не только картинки, но, например, flash-ролики, звук, и другие элементы, которые должны подгружаться к странице из файлов.

Обратите внимание на распространенные ошибки:

  • Content-Type: multipart/mixed; — это сообщение о письме, содержащем вложения
  • Content-Type: multipart/alternative; — это сообщение о составном альтернативном письме, когда показывается одмин из нескольких блоков
  • Content-Type: multipart/related; — это части одного письма

Секции bound начинаются с символов «—» В конце письма bound окружается и вначале и в конце символами «—«.

  • Универсальная рассылка почты на PHP
  • Вложение в письмо файла на PHP
  • Отправка почты по шаблону на PHP
  • Удалить все сообщения из почтового ящика

imagefttext

Замечание:

До PHP 8.0.0 imagefttext() — это расширенный вариант imagettftext() , который дополнительно поддерживает extrainfo . Начиная с PHP 8.0.0, imagettftext() является псевдонимом imagefttext() .

Список параметров

Объект GdImage , возвращаемый одной из функций создания изображений, например, такой как imagecreatetruecolor() .

Размер шрифта в пунктах.

Угол в градусах, 0 градусов означает расположение текста слева направо. Положительные значения означают поворот текста против часовой стрелки. Например, текст повёрнутый на 90 градусов нужно будет читать снизу вверх.

Координаты x и y определяют отправную точку для первого символа текста (конкретно, левый нижний угол символа). Здесь есть отличие от функции imagestring() , в которой x и y определяют верхний левый угол первого символа. Например, «верхний левый» имеет координаты 0,0.

y-координата. Это позиция базовой линии шрифта, в общем случае она не совпадает с низшей точкой в символе.

Индекс требуемого цвета текста, смотрите imagecolorexact() .

Путь к TrueType шрифту, который требуется использовать.

В зависимости от версии GD библиотеки если font_filename не начинается с / , то в конец названия файла будет добавлено расширение .ttf , и библиотека будет пытаться найти этот файл по адресу, определённому в настройках библиотеки.

В большинстве случаев размещение файлов шрифтов в директории скрипта решает подобные проблемы включения файлов.

// Задание переменной окружения для GD
putenv ( ‘GDFONTPATH=’ . realpath ( ‘.’ ));

// Имя шрифта для использования (обратите внимание на отсутствие расширения .ttf)
$font = ‘SomeFont’ ;
?>

Текст для вставки в изображение.

Возможные значения массива options

Ключ Тип Значение
linespacing float Определяет рисование нижнего подчёркивания

Возвращаемые значения

Эта функция возвращает массив, определяющий четыре точки рамки текста. Текст внутри этих границ начинается с левого нижнего угла и поворачивается против часовой стрелки:

0 нижняя левая x-координата
1 нижняя левая y-координата
2 нижняя правая x-координата
3 нижняя правая y-координата
4 верхняя правая x-координата
5 верхняя правая y-координата
6 верхняя левая x-координата
7 верхняя левая y-координата

В случае возникновения ошибки возвращает false .

Список изменений

Версия Описание
8.0.0 image теперь ожидает экземпляр GdImage ; ранее ожидался корректный gd ресурс ( resource ).

Примеры

Пример #1 Пример использования imagefttext()

// Создание изображения 300×100
$im = imagecreatetruecolor ( 300 , 100 );
$red = imagecolorallocate ( $im , 0xFF , 0x00 , 0x00 );
$black = imagecolorallocate ( $im , 0x00 , 0x00 , 0x00 );

// Сделаем красный фон
imagefilledrectangle ( $im , 0 , 0 , 299 , 99 , $red );

// Путь к ttf файлу шрифта
$font_file = ‘./arial.ttf’ ;

// Рисуем текст ‘PHP Manual’ шрифтом 13го размера
imagefttext ( $im , 13 , 0 , 105 , 55 , $black , $font_file , ‘PHP Manual’ );

// Вывод изображения
header ( ‘Content-Type: image/png’ );

imagepng ( $im );
imagedestroy ( $im );
?>

Примечания

Замечание: Эта функция доступна только в случае, если PHP был скомпилирован с поддержкой freetype (—with-freetype-dir=DIR)

Смотрите также

  • imageftbbox() — Определение границ текста выводимого шрифтом freetype2
  • imagettftext() — Рисование текста на изображении шрифтом TrueType

User Contributed Notes 15 notes

21 years ago

If you’re interested in turning off FreeType hinting, search for the following line in the gd source (gdft.c):
err = FT_Load_Glyph (face, glyph_index, FT_LOAD_DEFAULT);
and replace it with
err = FT_Load_Glyph (face, glyph_index, FT_LOAD_NO_HINTING);

Читать:
Какого эффекта анимации не существует

Recompile GD, and vo?la: beauteous antialiasing.

18 years ago

When compiling PHP with FreeType 2 support, you’ll probably have some problems if — for example — you use debian and didn’t compile freetype2 yourself.
If configure fails after saying «If configure fails, try —with-xpm-dir. » you most likely have FreeType1 installed, but not freetype2 .

Do this as root :
apt-get install libfreetype6-dev

It took me some time to find out that apt-get install freetype2 is actually installing freetype1 .

18 years ago

This function is very simular to imageffttext(), you may find the information provided on its manual page helpful:

20 years ago

After spending the evening with some work on automatically generated images, I had the idea to switch of anti-aliasing (looking, if some font would look better that way), which turned out not to be quite so easy.

Actually you have to use the negative of the desired color to switch of antialising. I include the corresponding line from my code (line split up):

// USE NEGATIVE OF DESIRED COLOR TO SWITCH OF ANTI-ALIASING
ImageFTText ($neuesBild,$fontsize,$fontangle,$TextPosX,$TextPosY,
-$custom_fg,$fonttype,$text,array());

14 years ago

For a design project I am required to have spacing between characters; since imagefttext does not support this feature I have created a function which does support this.

The arguments are identical to imagefttext, accept that (array)$extrainfo now accepts the ‘character_spacing’ spacing parameter. The return values are as expected, and include the image boundaries of the entire string including the character spacing.

The downside is that $angle rotates each letter instead of rotating the entire word (could be seen as a feature on its own).

I hope this is of some use to someone.
— KeepSake

// Required header (assuming we use png images)
header ( «Content-type: image/png» );

// Create a basic image with a dark background.
$image = imagecreatetruecolor ( 300 , 20 );
imagefill ( $image , 0 , 0 , imagecolorallocate ( $image , 21 , 21 , 21 ));

// Function call, arguments are the same as imagefttext, expect that (array)$extrainfo takes a new paramenter called character_spacing.
$imageBox = imagefttext2 ( $image , 9 , 0 , 2 , 15 , imagecolorallocate ( $image , 255 , 255 , 255 ), ‘tahomabold.ttf’ , ‘The quick brown fox. ‘ , array( ‘character_spacing’ => 5 ));

// Output the file, and clear the resources
imagepng ( $image );
imagedestroy ( $image );

function imagefttext2 ( $imageResource , $font_size , $text_angle , $start_x , $start_y , $color , $font_file , $text , $extra_info = array()) if( $extra_info [ ‘character_spacing’ ] == NULL || ! is_numeric ( $extra_info [ ‘character_spacing’ ])) $extra_info [ ‘character_spacing’ ] = 0 ;
>
$lastX = $start_x — $extra_info [ ‘character_spacing’ ];
foreach( str_split ( $text ) as $v ) $coordinates = imagefttext ( $imageResource , $font_size , $text_angle , $lastX + $extra_info [ ‘character_spacing’ ], $start_y , $color , $font_file , $v , $extra_info );
$lastX = max ( $coordinates [ 2 ], $coordinates [ 4 ]);
>
// Return the newly generated image box coordinates:
return array( $start_x , $start_y , $coordinates [ 2 ], $coordinates [ 3 ], $coordinates [ 4 ], $coordinates [ 5 ], $start_x , $coordinates [ 7 ]);
>

15 years ago

could be different. This helped when setting GDFONTPATH.

16 years ago

I had trouble working out how to accurately represent fonts in point sizes when constructing charts that had a user-customisable output DPI (basically, the user could specify the size of the chart in mm — or any other physical measure — and the DPI to create arbitrarily-sized charts to work properly in real printed documents).

GD1 was OK as it used pixels for font rendering, but GD2 uses points, which only makes any sense if you know the DPI that it assumes when rendering text on the image surface. I have not been able to find this anywhere in this documentation but have examined the GD2 source code and it appears to assume a DPI of 96 internally. However, this can easily be customised in the GD2 source so it cannot be assumed that all PHP interpreters out there have a GD2 compiled using 96dpi internally.

If it does, and you are using it to construct images whose target DPI is not 96, you can calculate the point size to supply to imageftbox() and imagefttext() like this:

/* 100mm x 100mm image */
$imageWidth = 100 ;
$imageHeight = 100 ;

/* 300 dpi image, therefore image is 1181 x 1181 pixels */
$imageDPI = 300 ;

/* unless we do this, text will be about 3 times too small */
$realFontSize = ( $fontPt * $targetDPI ) / 96 ;
?>

17 years ago

I am using php 5.1.2 on a winxp machine. I was getting into the TrueType fonts and wanted to see which ones would look best incorporated into web images. So I created the following script that prints out samples of all the TrueType fonts found in my C:\Windows\Fonts directory. The script takes only one request parameter — ‘fsize’. It stands for font-size and lets you see each font in any size you wish — I limited it to values between 5 and 48. Hope this helps someone other than me 🙂

I apologize in advance if any of my code is not the prettiest-written php code even seen — I have only been coding in php for the past week (I’m a perl-guy usually).

list( $x , $y , $maxwidth ) = array( 0 , 0 , 0 );

$fsize = (int) $_REQUEST [ ‘fsize’ ];
if ( $fsize < 5 or $fsize >48 ) $fsize = 8 ;

header ( «Content-type: image/jpeg» );

// don’t know how wide or tall the font samples will be.
// create a huge image for now, we’ll copy it smaller
// later when we know how large the image needs to be.
$im = imagecreate ( 1000 , 20000 ) or die( ‘could not create!’ );
$clr_white = imagecolorallocate ( $im , 255 , 255 , 255 );
$clr_black = imagecolorallocate ( $im , 0 , 0 , 0 );

$font_path = «C:/Windows/Fonts/» ;
$dh = opendir ( $font_path );
while (( $file = readdir ( $dh )) !== FALSE ) // we’re only dealing with TTY fonts here.
if ( substr ( strtolower ( $file ), — 4 ) != ‘.ttf’ ) continue;

$str = «Sample text for ‘ $file ‘» ;
$bbox = imagettfbbox (
$fsize , 0 , » < $font_path > < $file >» , $str
);
$ww = $bbox [ 4 ] — $bbox [ 6 ];
$hh = $bbox [ 1 ] — $bbox [ 7 ];

imagettftext (
$im , $fsize , 0 , $x , $y ,
$clr_black , » < $font_path > < $file >» , $str
);

$y += $hh + 20 ;
if ( $ww > $maxwidth ) $maxwidth = $ww ;
>

// ok, now we can chop off the extra space from the
// 1000 x 20000 image.
$im2 = imagecreate ( $maxwidth + 20 , $y );
imagecopyresized (
$im2 , $im , 0 , 0 , 0 , 0 , $maxwidth + 20 ,
$y , $maxwidth + 20 , $y
);
imagejpeg ( $im2 );
imagedestroy ( $im );
imagedestroy ( $im2 );
?>

17 years ago

If you want to get the best result in monochrome font rendering, change render_mode to FT_LOAD_RENDER. It’s the last parameter of FT_Load_Glyph() function (in gdft.c).

18 years ago

For negative image you must add one line after the $grayColor computation:

18 years ago

I found myself in need of an align right function and found one on the imagepstext manual page. I can’t imagine I’m the only person who’s needed to use this, so here’s a slightly modified version that works with imagefttext:

function align_right($string, $fontfile, $imgwidth, $fontsize) $spacing = 0;
$line = array(«linespacing» => $spacing);
list($lx,$ly,$rx,$ry) = imageftbbox($fontsize,0,$fontfile,$string,$line);
$textwidth = $rx — $lx;
$imw = ($imgwidth-10-$textwidth);
return $imw;
>
?>

19 years ago

I wrote a bit of code to gather all the .ttf files in the directory with this script, and randomize them to write text on a header image for my site. The only catch is the font files have to be named 1.ttf, 2.ttf etc etc.

srand ((double) microtime ()* 1234567 ); // Start the random gizmo
$image = imagecreatefromjpeg ( rand ( 1 , exec ( ‘ls *.jpg | wc -l’ )) . «.jpg» ); // Get a background
$font = rand ( 1 , exec ( ‘ls *.ttf | wc -l’ )) . «.ttf» ; // Get a font
$textcolor = imagecolorallocate ( $image , 0 , 0 , 0 ); // Set text color

$text1 = «shenko.homedns.org» ; // Here is our text

imagettftext ( $image , 50 , 0 , 20 , 50 , $textcolor , $font , $text1 ); // Write the text with a font

header ( «Content-type: image/jpeg» ); // Its a JPEG
imagejpeg ( $image , » , 90 ); // Zap it to the browser
imagedestroy ( $image ); // Memory Freeupage

17 years ago

Since this function is not documented, I felt it was best that I shed some light on the extrainfo parameter.

Basically it accepts an array containing the following options as keys and an associated value:
(int) flags [more info in the GD reference manual]
(double/float) linespacing
(int) charmap
(int) hdpi
(int) vdpi
(string) xshow
(string) fontpath

My C/C++ is not very good but this is the best I can explain. Read the documentation for more information. 🙂

A very simple example of usage would be:

imagefttext ( $img_pointer , 12 , 0 , 10 , 10 , [- insertsomecolour -], ‘/path/to/font.ttf’ , «THIS IS A TEST\nTHIS IS LINE 2\nTHIS IS LINE3» , array( ‘lineheight’ => 2.0 ) );

20 years ago

Thanks for the script! I modified it to show several fonts that I was wanting to use. I am using GD-2.0.7, FreeType-2.1.3(text rotation fix,among others), and PHP-4.2.3 and had to include the array information to get it to work.

Code change follows:
$fontfile=»/usr/local/fonts/ttf/bookantbd.ttf»;
// Waterfall of point sizes to see what Freetype 2’s autohinting looks like:
//
for($i=4;$i <=12;$i++)<
ImageFtText($image,$i,0,10,(280+$i*14),$forecolor,$fontfile, bookantbd . $i . «. » . $string, array(«linespacing» => 1.0));
>

13 years ago

I’m not sure if this is a PHP issue or an GD issue, but after upgrading to PHP 5.3.2, text written at an angle has become top-justified (so «N» and «n» have the same top, but the bottom of the «N» is lower than the bottom of the «n». I’ve written a kludgy work-around, which writes the text to a non-rotated temporary image, then copies the temporary image, rotated onto the main image. The kludginess is to get around the fact that I can’t seem to extract the font info, particularly the distance between the baseline and the very bottom (I’ve hard-coded it as 30% of the font size)
I hope the bug can be fixed (if it is indeed a bug) or that others can improve this code:

// Function that draws rotated text by creating a temporary image and rotating it, since rotated text appears to be busted
function imageTextRotated ( $image , $size , $angle , $x , $y , $inColor , $fontfile , $text , $info =array()) // Force some demo text that contains risers and descenders:
// $text = «Nlfbacejygq!»;

$bbox = imageftbbox ( $size , 0 , $fontfile , $text , $info );
$dropdown = $size * 0.3 ;
$xsize = abs ( $bbox [ 2 ] — $bbox [ 0 ]);
$ysize = abs ( $bbox [ 5 ] — $bbox [ 3 ]);
$tmpImage = imagecreatetruecolor ( $xsize * 1.25 , $ysize * 1.25 ); // need the extra space to accommodate risers and descenders
$transparent = imagecolorallocate ( $tmpImage , 255 , 255 , 154 );
if (! $transparent ) error_log ( «Color allocate failed» );
>
imagecolortransparent ( $tmpImage , $transparent );
if (! imagefill ( $tmpImage , 0 , $ysize , $transparent )) error_log ( «Fill failed» );
>
$rgb = imagecolorsforindex ( $image , $inColor );
$color = imagecolorexact ( $tmpImage , $rgb [ ‘red’ ], $rgb [ ‘green’ ], $rgb [ ‘blue’ ]);
if ( $color == — 1 ) $color = imagecolorallocate ( $tmpImage , $rgb [ ‘red’ ], $rgb [ ‘green’ ], $rgb [ ‘blue’ ]);
if (! $color ) error_log ( «Color allocate 2 failed» );
>
>

$newbbox = imagefttext ( $tmpImage , $size , 0 , 0 , $ysize * 1.0 , $color , $fontfile , $text , $info );
$tmpImage = imagerotate ( $tmpImage , $angle , $transparent );
$newWidth = imagesx ( $tmpImage );
$newHt = imagesy ( $tmpImage );
imagecopymerge ( $image , $tmpImage , $x — $newWidth + $dropdown , $y — $newHt , 0 , 0 , $newWidth , $newHt , 100 );

// Highlight the desired starting point (baseline) with a green dot:
// $green = imagecolorallocate($image, 0, 251, 0);
// imagefilledellipse($image, $x, $y, 10, 10, $green);
imagedestroy ( $tmpImage );
?>

-Dave

  • Функции GD и функции для работы с изображениями
    • gd_​info
    • getimagesize
    • getimagesizefromstring
    • image_​type_​to_​extension
    • image_​type_​to_​mime_​type
    • image2wbmp
    • imageaffine
    • imageaffinematrixconcat
    • imageaffinematrixget
    • imagealphablending
    • imageantialias
    • imagearc
    • imageavif
    • imagebmp
    • imagechar
    • imagecharup
    • imagecolorallocate
    • imagecolorallocatealpha
    • imagecolorat
    • imagecolorclosest
    • imagecolorclosestalpha
    • imagecolorclosesthwb
    • imagecolordeallocate
    • imagecolorexact
    • imagecolorexactalpha
    • imagecolormatch
    • imagecolorresolve
    • imagecolorresolvealpha
    • imagecolorset
    • imagecolorsforindex
    • imagecolorstotal
    • imagecolortransparent
    • imageconvolution
    • imagecopy
    • imagecopymerge
    • imagecopymergegray
    • imagecopyresampled
    • imagecopyresized
    • imagecreate
    • imagecreatefromavif
    • imagecreatefrombmp
    • imagecreatefromgd2
    • imagecreatefromgd2part
    • imagecreatefromgd
    • imagecreatefromgif
    • imagecreatefromjpeg
    • imagecreatefrompng
    • imagecreatefromstring
    • imagecreatefromtga
    • imagecreatefromwbmp
    • imagecreatefromwebp
    • imagecreatefromxbm
    • imagecreatefromxpm
    • imagecreatetruecolor
    • imagecrop
    • imagecropauto
    • imagedashedline
    • imagedestroy
    • imageellipse
    • imagefill
    • imagefilledarc
    • imagefilledellipse
    • imagefilledpolygon
    • imagefilledrectangle
    • imagefilltoborder
    • imagefilter
    • imageflip
    • imagefontheight
    • imagefontwidth
    • imageftbbox
    • imagefttext
    • imagegammacorrect
    • imagegd2
    • imagegd
    • imagegetclip
    • imagegetinterpolation
    • imagegif
    • imagegrabscreen
    • imagegrabwindow
    • imageinterlace
    • imageistruecolor
    • imagejpeg
    • imagelayereffect
    • imageline
    • imageloadfont
    • imageopenpolygon
    • imagepalettecopy
    • imagepalettetotruecolor
    • imagepng
    • imagepolygon
    • imagerectangle
    • imageresolution
    • imagerotate
    • imagesavealpha
    • imagescale
    • imagesetbrush
    • imagesetclip
    • imagesetinterpolation
    • imagesetpixel
    • imagesetstyle
    • imagesetthickness
    • imagesettile
    • imagestring
    • imagestringup
    • imagesx
    • imagesy
    • imagetruecolortopalette
    • imagettfbbox
    • imagettftext
    • imagetypes
    • imagewbmp
    • imagewebp
    • imagexbm
    • iptcembed
    • iptcparse
    • jpeg2wbmp
    • png2wbmp
    • Copyright © 2001-2023 The PHP Group
    • My PHP.net
    • Contact
    • Other PHP.net sites
    • Privacy policy

Похожие записи

Какие будут сформированы бухгалтерские проводки при обработке документа банковские выписки ответ

admin

Как отключить видео в зуме

admin

Как поставить пароль на ютуб на айфоне

admin