Warning: include() [function.include]: URL file-access is disabled in the server configuration in /home/virtwww/w_altcode-ru_ffd5b838/http/php/ssm/php_gdprop.php on line 23

Warning: include(http://altcode.ru/include/style.php) [function.include]: failed to open stream: no suitable wrapper could be found in /home/virtwww/w_altcode-ru_ffd5b838/http/php/ssm/php_gdprop.php on line 23

Warning: include() [function.include]: Failed opening 'http://altcode.ru/include/style.php' for inclusion (include_path='.:') in /home/virtwww/w_altcode-ru_ffd5b838/http/php/ssm/php_gdprop.php on line 23

ALTCODE

Программирование - ALTCODE.ru   Все о языках программирования.

Assembler |  C  |  C++ |  Visual C++ |  C++ Builder |  C# |  Pascal |  Delphi |  BASIC |  Visual Basic |  Visual Basic .NET 
Java |  Perl |  Visual FoxPro |  Ruby |  PHP |  MySQL 
 Главная / PHP / Справочник по PHP (краткий)
Главная
Карта сайта
Наши партнеры
Контакты

<< предыдущая | в начало | следующая >>



Работа с изображениями и библиотека GD : Параметры изображения

Применение и установка

Здесь мы рассмотрим идею создания рисунков сценарием "на лету". Это очень может пригодиться при создании сценариев-счетчиков, графиков, картинок-заголовков, да и многого другого.

Для деятельности такого рода существует специальная библиотека под названием GD. Она содержит в себе множество функций (такие как рисование линий, растяжение/сжатие изображения, заливка до границы, вывод текста и т.д.), которые могут использовать программы, поддерживающие работу с данной библиотекой.

Поддержка GD включается при компиляции и установке PHP. Возможно, некоторые хостинг-провайдеры ее не имеют.

Для подключения модуля на вашем локальном диске нужно открыть в Блокноте файл php.ini из каталога с файлами Windows (обычно C:\Windows)
Затем:
1. Настройте следующий параметр:
extension_dir=C:\Program Files\PHP4\extensions
  Здесь мы уведомляем PHP, что модули он должен искать 
  в каталоге C:\Program Files\PHP4\extensions.
2. Найдите закомментированную строку ;extension=php_gd.dll
   и разкомментируйте ее, т.е. уберите ; в начале.
3. Сохраните изменения в файле php.ini

imageTypes
Определение графических форматов, поддерживаемых PHP.

Синтаксис :
int imageTypes(void)

Функция возвращает битовую маску графических форматов, которые поддерживает данная версия библиотеки GD: IMG_GIF | IMG_JPG | IMG_PNG | IMG_WBMP

<?php
if(imageTypes() && IMG_PNG) echo "формат PNG поддерживается";
?>

GetImageSize
Определение размеров рисунка.

Синтаксис :
array GetImageSize(string filename [,array imageinfo])

Эта функция предназначена для быстрого определения в сценарии размеров (в пикселях) и формата рисунка, имя файла которого передано ей в первом параметре. Она возвращает список из четырех элементов. Первый элемент (с ключем 0) хранит ширину картинки в пикселях, второй (с ключем 1) - его высоту. Ячейка массива с ключем 2 определяется форматом изображения: 1, если это GIF, 2 в случае JPG, 3 для PNG и 4 - SWF. Следующий элемент, имеющий ключ 3, будет содержать после вызова функции строку примерно следующего вида: height=sx width=sy, где sx и sy - соответственно ширина и высота изображения. Это применение задумывалось для того, чтобы облегчить вставку данных о размере изображения в тег <img>, который может быть сгенерирован сценарием:

<?php
$size_img=GetImageSize("img/image.jpg");
echo "<IMG src='img/image.jpg' $size_img>";
?>
Если при обращении к функции был указан второй необязательный массив imageinfo, в него можно записать дополнительную информацию о файле. Это могут быть, например, различные маркеры JPG APP (внедренная информация).
Функция iptcparse() позволяет конвертировать эти данные в читаемый вид:
<?php
$size_img=GetImageSize("img/image.jpg", &$info_arr);
if(isset($info_Arr["APP13"])) {
  $iptc = iptcparse($info_arr["APP13"]);
  var_dump($iptc);
};
?>
Данная функция не требует наличия библиотеки GD.

imageSX
Определение ширины рисунка.

Синтаксис :
int imageSX(int im)

Функция возвращает горизонтальный размер изображения, заданного своим идентификатором im, в пикселях.


imageSY
Определение высоты рисунка.

Синтаксис :
int imageSY(int im)

Функция возвращает вертикальный размер изображения, заданного своим идентификатором im, в пикселях.


read_exif_data
Чтение заголовков EXIF из файла JPEG.

Синтаксис :
array read_exif_data(string filename)

Параметр filename не может быть URL.

Функция возвращает ассоциативный массив, в котором индексами являются имена заголовков EXIF.
Заголовки EXIF обычно хранят информацию цифровых камер (в различном виде).

<?php
$exif = read_exif_data("img/file.jpg");
print_r($exif);
?>
Данный пример выведет что-то наподобие:
Array
(
    [FileName] => file.jpg
    [FileDateTime] => 1064566998
    [FileSize] => 31646
    [CameraMake] => Eastman Kodak Company
    [CameraModel] => KODAK DC265 ZOOM DIGITAL CAMERA (V01.00)
    [DateTime] => 2002:08:31 02:12:45
    [Height] => 454
    [Width] => 620
    [IsColor] => 1
    [FlashUsed] => 0
    [FocalLength] => 8.0mm
    [RawFocalLength] => 8
    [ExposureTime] => 0.004 s (1/250)
    [RawExposureTime] => 0.0040000001899898
    [ApertureFNumber] => f/ 9.5
    [RawApertureFNumber] => 9.5100002288818
    [FocusDistance] => 16.66m
    [RawFocusDistance] => 16.659999847412
    [Orientation] => 1
    [ExifVersion] => 0200
)
Данная функция доступна, если подключена библиотека EXIF.
Для этого необходимо либо снять комментарий со строки ;extension=php_exif.dll в файле windows\php.ini (должно быть extension=php_exif.dll), либо откомпилировать PHP с параметром --enable-exif.

Для работы этой функции библиотека GD не требуется.


imageInterlace
Установка черезстрочности.

Синтаксис :
int imageInterlace(int im [, int interlace])

Если в функции задан второй необязательный параметр interlace, и он равен 1, то рисунок im отображается черезстрочно, если равен 0, то последовательно.

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


gd_info
Возвращает информацию о библиотеке GD.

Синтаксис :
array gd_info(void)

Функция возвращает массив, содержащий версию и параметры установленной библиотеки GD.

<?php
$gd=gd_info();
echo "<pre>";
print_r($gd);
echo "</pre>";
?>
Приведенный пример выведет примерно следующее:
Array
(
    [GD Version] => bundled (2.0.22 compatible)
    [FreeType Support] => 1
    [FreeType Linkage] => with freetype
    [T1Lib Support] => 
    [GIF Read Support] => 1
    [GIF Create Support] => 
    [JPG Support] => 1
    [PNG Support] => 1
    [WBMP Support] => 1
    [XBM Support] => 1
    [JIS-mapped Japanese Font Support] => 
)

image_type_to_mime_type
Возвращает Mime-Type типа изображения.

Синтаксис :
string image_type_to_mime_type( int imagetype)

Функция возвращает MIME-тип картинки, заданный константой в параметре imagetype.

<?php
header("Content-type: " . image_type_to_mime_type(IMAGETYPE_PNG));
?>
Список констант и возвращаемых значений функции image_type_to_mime_type():
  • IMAGETYPE_GIF - image/gif
  • IMAGETYPE_JPEG - image/jpeg
  • IMAGETYPE_PNG - image/png
  • IMAGETYPE_SWF - application/x-shockwave-flash
  • IMAGETYPE_PSD - image/psd
  • IMAGETYPE_BMP - image/bmp
  • IMAGETYPE_TIFF_II - image/tiff
  • IMAGETYPE_TIFF_MM - image/tiff
  • IMAGETYPE_JPC - application/octet-stream
  • IMAGETYPE_JP2 - image/jp2
  • IMAGETYPE_JPX - application/octet-stream
  • IMAGETYPE_JB2 - application/octet-stream
  • IMAGETYPE_SWC - application/x-shockwave-flash
  • IMAGETYPE_IFF - image/iff
  • IMAGETYPE_WBMP - image/vnd.wap.wbmp
  • IMAGETYPE_XBM - image/xbm
  • Данная функция не требует наличия библиотеки GD.


    << предыдущая | в начало | следующая >>






    Warning: include() [function.include]: URL file-access is disabled in the server configuration in /home/virtwww/w_altcode-ru_ffd5b838/http/php/ssm/php_gdprop.php on line 214

    Warning: include(http://altcode.ru/include/banners.php) [function.include]: failed to open stream: no suitable wrapper could be found in /home/virtwww/w_altcode-ru_ffd5b838/http/php/ssm/php_gdprop.php on line 214

    Warning: include() [function.include]: Failed opening 'http://altcode.ru/include/banners.php' for inclusion (include_path='.:') in /home/virtwww/w_altcode-ru_ffd5b838/http/php/ssm/php_gdprop.php on line 214