Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен / web / example1 / Введение в PHP.doc
Скачиваний:
101
Добавлен:
18.05.2015
Размер:
3 Mб
Скачать

Использование шрифтов и вывод строк

Расширение GD поддерживает три библиотеки шрифтов (TILib, FreeType и FreeType2), что дает возможность использовать в изображениях шрифты PostScript и TrueType. Кроме этого, расширение GD предлагает дополнительно пять внутренних шрифтов.

Использование внутренних шрифтов не представляет сложности, и сводится к работе с функцией:

imagestring($img_r, $font, $start_x, $start_y, $str, $color);

Параметр $img_r представляет ресурс изображения, $color — ресурс цвета, который будет использоваться при выводе текста. Параметр $font определяет используемый шрифт посредством целого числа (от 1 до 5), а параметры $start_x и Sstart_y задают координаты текста. Параметр $str определяет строку, которую необходимо отобразить. Использование функции imagestring ()

<?php //imagepr18

define("WIDTH", 300); define("HEIGHT", 100);

$img = imagecreate(WIDTH, HEIGHT);

$white = imagecolorallocate($img, 255,255,255);

$black = imagecolorallocate($img, 0,0,0);

imagerectangle($img, 0, 0, WIDTH-1, HEIGHT-1, $black);

$start_x = 15; $start_y = 15;

for($font_num = 1; $font_num <= 5; $font_num++)

{ imagestring($img, $font_num, $start_x , $start_y, "Font #$font_num", $black);

$start_y += 15;

}

header("Content-type: image/png") ;

imagepng($img) ;

?>

Расширение GD делает внутренние шрифты более универсальными, позволяя отображать текст иа холсте вертикально и горизонтально. Для этих целей служит функция imagestringup(). По своим параметрам она идентична функции imagestring (); однако вместо того, чтобы отображать текст горизонтально от точки, определяемой координатами $start_x и $start_y, функция imagestringup() отображает текст вертикально.

При работе с внутренними шрифтами расширения GD (или специальными растровыми шрифтами) можно определять значения их ширины и высоты с помощью функций imagefontwidth($font) и imagefontheight($font).

Параметр $font представляет ресурс шрифта, для которого необходимо получить значения ширины и высоты в пикселях.

Манипулирование и копирование изображений

Дня начала рассмотрим копирование части или всего изображения в память компьютера для переноса па другой холст. Из всех функций чаще всего применяется функция imagecopy(), которая имеет следующий синтаксис:

imagecopy($dest, $src, $dest_x, $dest_y, $src_x, $src_y, $src_w, $src_h);

Параметры $dest и $src представляют ресурсы изображений для конечного и исходного холстов, соответственно. Параметры $dest_x и $dest_y представляют координаты конечного холста, куда будет скопирована часть исходного изображения, а параметры $src_x, $src_y, $src_w и $src_h определяют область копирования из исходного изображения. Рассмотрим пример:

<?php //imagepr19

// Create image instances

$src = imagecreatefromgif('molenr.gif');

$dest = imagecreatetruecolor(100, 100);

// Copy

imagecopy($dest, $src, 0, 0, 30, 30, 130,130);

// Output and free from memory

header('Content-Type: image/gif');

imagegif($dest);

imagedestroy($dest);

imagedestroy($src);

?>

Рассмотрим другие функции семейства imagecopy(). Первой из них является функция imagecopymerge(), синтаксис которой выглядит следующим образом:

imagecopymerge($dest_img_r, $src_img_r, $dest_x, Sdest_y, $src_x, $src_y, $src_w, $src_h, $percent);

Первые восемь параметров идентичны таким же параметрам функции imagecopy (), а параметр Spercent представляет процент (1 = 1%) совмещения исходного изображения с конечным изображением. Если этот параметр будет иметь значение 100, то функция будет вести себя точно так же, как и функция imagecopy ().

Соседние файлы в папке example1