Изменение размеров и копирование изображений

Опубликовал: Суббота, Апрель 14, 2012 в категории HTML | Пока нет комментариев

Для изменения размеров и копирования изображений применяется функция

imagecopyresampled(). Функция имеет следующий формат:

imagecopyresampled(<Идентификатор1>, <Идентификатор2>, <X1>, <Y1>,

<X2>, <Y2>, <Ширина1>, <Высота1>, <Ширина2>,

<Высота2>)

Параметр <Идентификатор1> задает изображение, в которое требуется скопи- ровать изображение, заданное параметром <Идентификатор2>. Изображение, в которое копируем, должно быть полноцветным или созданным с помощью функции imagecreatetruecolor(). Функция imagecreatetruecolor() часто применяется для создания подложки при изменении размеров изображения.

Параметры <X2>, <Y2>, <Ширина2> и <Высота2> задают прямоугольную об- ласть в изображении, заданном в параметре <Идентификатор2>, которую мы будем копировать. А параметры <X1>, <Y1>, <Ширина1> и <Высота1> задают прямоугольную область, в которую будет вставлен копируемый фрагмент.

В качестве примера уменьшим изображение в два раза и выведем полученное изображение в Web-браузер (листинг 5.68).

Листинг 5.68. Изменение размера изображения

<?php

$img2 = imagecreatefromgif(‘foto.gif’);

if (!$img2) die(‘Изображение не удалось загрузить’);

// Получаем размеры изображения

list($width2, $height2) = getimagesize(‘foto.gif’);

// Получаем ширину и высоту нового изображения

$width1 = $width2/2;

$height1 = $height2/2;

// Создаем подложку для нового изображения

$img1 = imagecreatetruecolor($width1, $height1);

if (!$img1) die(‘Изображение не удалось создать’);

header(‘Content-type: image/jpeg’);

// Копируем и изменяем размер

imagecopyresampled($img1, $img2, 0, 0, 0, 0, $width1, $height1,

$width2, $height2);

imagejpeg($img1); imagedestroy($img1); imagedestroy($img2);

?>

В листинге 5.67 мы рассмотрели проблему вывода текста на готовое изобра- жение и не получили точный цвет текста. Теперь рассмотрим вывод текста указанным цветом. Для этого получаем исходное изображение. Создаем под- ложку такого же размера и копируем исходное изображение на созданную подложку. Далее выводим надпись нужным цветом (листинг 5.69).

Листинг 5.69. Вывод текста на готовое изображение указанным цветом

<?php

$foto_name = ‘foto.gif’;

// Загружаем исходное изображение

$img2 = imagecreatefromgif($foto_name);

if (!$img2) die(‘Изображение не удалось загрузить’);

// Получаем размеры изображения

list($width, $height) = getimagesize($foto_name);

// Создаем подложку для нового изображения

$img1 = imagecreatetruecolor($width, $height);

if (!$img1) die(‘Изображение не удалось создать’);

// Копируем исходное изображение на подложку

imagecopyresampled($img1, $img2, 0, 0, 0, 0, $width, $height,

$width, $height);

imagedestroy($img2);

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

if ($white === false) die(‘Ошибка’);

$str = ‘Фонтан Самсон’;

$str = iconv("windows-1251", "UTF-8", $str);

$fontfile = ‘C:/Windows/Fonts/arial.ttf’;

// Выводим надпись на изображение

imagettftext($img1, 28, 0, 100, 440, $white, $fontfile, $str);

// Выводим изображение header(‘Content-type: image/gif’); imagegif($img1); imagedestroy($img1);

?>

Результат выполнения скрипта изображен на рис. 5.3.

Рис. 5.3. Вывод текста

на готовое изображение определенным цветом

Источник: Прохоренок Н. А. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера. — 3-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2010. — 912 с.: ил. + Видеокурс (на CD-ROM) — (Профессиональное программирование)

Add to Social Bookmarks
  • del.ici.ous
  • Digg
  • Furl
  • Google
  • Simpy
  • Spurl
  • Y! MyWeb
  • BobrDobr
  • Mr. Wong
  • Yandex.Bookmarks
  • Text 2.0
  • News2
  • AddScoop
  • RuSpace
  • RUmarkz
  • Memori
  • Google Bookmarks
  • Pisali
  • SMI 2
  • Moe Mesto
  • 100 Zakladok
  • Vaau!
  • Technorati
  • RuCity
  • LinkStore
  • NewsLand
  • Lopas
  • Закладки - I.UA
  • Connotea
  • Bibsonomy
  • Trucking Bookmarks
  • Communizm
  • UCA

Похожие посты:

Комментировать

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>