PHP 8.6.0 Beta 1 is available for testing

imagechar

(PHP 4, PHP 5, PHP 7, PHP 8)

imagechar Рисует символ по горизонтали

Описание

function imagechar(
GdImage $image,
GdFont |int $font,
int $x,
int $y,
string $char,
int $color
): true

Функция imagechar() рисует первый символ аргумента char на изображении с идентификатором image с координатами x и y цветом color. Координаты отсчитываются с левого верхнего угла.

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

image
Объект GdImage , который вернула функция imagecreatetruecolor() или другая функция генерации изображений.
font
Принимает значения 1, 2, 3, 4, 5 для встроенных шрифтов в кодировке latin2 (более высокое число соответствует большему шрифту) или экземпляр класса GdFont , который возвращает функция imageloadfont() .
x

Координата начала рисования по оси x.

y

Координата начала рисования по оси y.

char

Символ для рисования.

color

Идентификатор цвета, который добавила в палитру изображения функция imagecolorallocate() .

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

Функция возвращает логическое значение true .

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

Версия Описание
8.1.0 Параметр font теперь принимает как экземпляр класса GdFont , так и целое число (int ); раньше параметр принимал только целое число (int ).
8.0.0 Параметр image теперь принимает объект GdImage ; раньше параметр принимал корректный gd-ресурс (resource ).

Примеры

Пример #1 Пример рисования символа функцией imagechar()

<?php
$im = imagecreate(100, 100);
$string = 'PHP';
$bg = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);
// Рисует чёрный символ "P" в левом верхнем углу
imagechar($im, 1, 0, 0, $string, $black);
header('Content-type: image/png');
imagepng($im);

Вывод приведённого примера будет похож на:

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

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей 2 notes

up
3
sw at profilschmiede dot de
21 years ago
For the sake of completeness, here is an example for imagechar. 
The base-image automatically adjusts to the size and the height of the given string. Using the rand()-function the y-position of each char is slightly varied with every loop-run. You can easily rewrite the script to use a randomly generated string - the one given here just serves as an example.
<?php
$string = '1 2 3 4 5 6 7 8 9 A B C D E F G';
$font_size = 5;
$width=imagefontwidth($font_size)*strlen($string);
$height=imagefontheight($font_size)*2;
$img = imagecreate($width,$height);
$bg = imagecolorallocate($img,225,225,225);
$black = imagecolorallocate($img,0,0,0);
$len=strlen($string);
for($i=0;$i<$len;$i++)
{
 $xpos=$i*imagefontwidth($font_size);
 $ypos=rand(0,imagefontheight($font_size));
 imagechar($img,$font_size,$xpos,$ypos,$string,$black);
 $string = substr($string,1); 
 
}
header("Content-Type: image/gif");
imagegif($img); 
imagedestroy($img);
?>
up
-3
liam dot wiltshire at lineone dot net
17 years ago
A quick function to automatically generate a multi line image from a string, with the image size automatically calculated from the string itself.
<?php
function multilineimage($string){
 // Probably not the best way of handling newlines, but bar OS9, doesn't really cause a problem
 $string = str_replace("\r","",$string);
 $string = explode("\n",$string);
 $maxlen = 0;
 foreach ($string as $str){
 if (strlen($str) > $maxlen){
 $maxlen = strlen($str);
 }
 }
 // Set font size
 $font_size = 4;
 // Create image width dependant on width of the string
 $width = imagefontwidth($font_size)*$maxlen;
 // Set height to that of the font
 $height = imagefontheight($font_size) * count($string);
 // Create the image pallette
 $img = imagecreate($width,$height);
 // Grey background
 $bg = imagecolorallocate($img, 205, 255, 255);
 // White font color
 $color = imagecolorallocate($img, 0, 0, 0);
 $ypos = 0;
 foreach ($string as $str){
 $len = strlen($str);
 for($i=0;$i<$len;$i++){
 // Position of the character horizontally
 $xpos = $i * imagefontwidth($font_size);
 // Draw character
 imagechar($img, $font_size, $xpos, $ypos, $str, $color);
 // Remove character from string
 $str = substr($str, 1); 
 }
 $ypos = $ypos + imagefontheight($font_size); 
 }
 // Return the image 
 header("Content-Type: image/gif");
 imagegif($img);
 // Remove image
 imagedestroy($img);
}
multilineimage("This is an image
This is line 2\nLine 3
Line 4");
?>
+Добавить

AltStyle によって変換されたページ (->オリジナル) /