getimagesize — получает размер изображения


Содержание

Функция PHP getimagesize — Получить информацию об изображении

Функция getimagesize () используется для получения размера изображения и связанную с ними информацию, успешное возвращение массива, а затем не смог вернуть FALSE и сгенерирует ошибку уровня E_WARNING сообщения.

getimagesize () функция будет измеряться любой GIF, JPG, PNG, SWF, SWC, PSD, TIFF, BMP, IFF, JP2, JPX, JB2, JPC, XBM, или WBMP размер файла изображения и вернуть размер изображения и тип файла и изображения высота и ширина.

Пример 1: Локальный файл изображения

В приведенном выше примере выход:

Пример 2: Remote File Фотографии

В приведенном выше примере выход:

  • Индекс нуль дает ширину значений пикселей изображения
  • Индекс дает значения изображения высота 1 пиксел
  • Индекс 2 показывает тип изображения, возвращает число, где 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, TIFF 7 = (Intel порядок байт), 8 = TIFF (Моторола порядок байт), 9 = JPC, 10 = JP2,11 = JPX, 12 = JB2,13 = МЖК, 14 = IFF, 15 = WBMP, 16 = XBM
  • 3 индекс получает ширину и высоту строки можно использовать непосредственно в теге HTML
  • Индекс число битов задается для каждого цветного изображения, двоичный формат
  • Указатель каналов дает значение канала изображения, RGB изображения по умолчанию 3
  • Индекс Мим MIME дает информацию об изображении, эта информация может быть использована в информации HTTP заголовка Content-Type, чтобы отправить правильную информацию, например: заголовок ( «Content-Type: изображение / JPEG»);

Супер быстрый getimagesize в php

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

Я проделал некоторое чтение и выяснил, что самым быстрым способом было бы использовать file_get_contents для чтения определенного количества байтов из изображений и изучения размера в двоичных данных.

Кто-нибудь пытался это сделать раньше? Как я могу изучить разные форматы? Кто-нибудь видел какую-нибудь библиотеку для этого?

Загрузка 32kb данных для меня.

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

Я искал лучший способ справиться с этой ситуацией, поэтому я использовал несколько различных функций, которые можно найти в Интернете.

В целом, когда это сработало, самым быстрым, как правило, была функция getjpegsize , которую Джеймс Релиа разместил на странице PHP для getimagesize , опередив функцию ranger , предоставленную Dejan выше. http://php.net/manual/en/function.getimagesize.php#88793

  • ranger не удалось захватить 32768 байт на изображении # 3, поэтому я увеличил его до 65536, и он работал, чтобы захватить размер успешно.

Однако существуют проблемы, поскольку как ranger , так и getjpegsize ограничены способами, которые делают его недостаточно стабильным для использования. Оба отказались при работе с большим JPG-изображением вокруг 3 МБ, но ranger будет работать после изменения количества байтов, которое он захватывает. Кроме того, эти альтернативы имеют дело только с изображениями JPG, а это означает, что условное выражение должно использоваться только для использования в JPG и getimagesize в других форматах изображений.

Кроме того, обратите внимание, что первое изображение было на более старом сервере, на котором установлена ​​старая версия PHP 5.3.2, где в качестве 4-х других изображений использовался современный сервер (cPanel на основе облачных вычислений с MultiPHP, набранный обратно до 5.4.45 для совместимости).

Стоит отметить, что облачный сервер сделал гораздо лучше с getimagesize , который выбил ranger , фактически для всех 4 тестов на облачном сервере ranger был самым медленным. Эти 4 также тянули изображения с того же сервера, что и код, но разные учетные записи.

Это заставляет задуматься о том, улучшилось ли ядро ​​PHP в версии 5.4 или если в нем есть факторы версии Apache. Кроме того, возможно, это зависит от доступности с сервера и загрузки сервера. Давайте не будем забывать, как сети становятся все быстрее и быстрее каждый год, поэтому, возможно, проблема скорости становится все менее обеспокоенной.

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

Как и при любом кэшировании, он работает только хорошо, если содержимое не изменяется, и есть способ проверить, было ли это изменение. Таким образом, возможное решение заключается в проверке только заголовков URL-адреса изображения при проверке кеша, а если они разные, выгрузите кешированную версию и снова возьмите ее с помощью getimagesize .

getimagesize не может получить размер удаленных веб-файлов с PHP версии 5.3.29

Ниже приведен фрагмент кода –

Где $ campaign_image содержит URL-адрес сторонних изображений.

проблема

$ campaign_image_width выводится пустым для этого URL –

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

– The = h256-rw, прикрепленный в конце, кажется, говорит серверу вернуть версию изображения другого размера.


– Я обнаружил, что если я попытаюсь открыть файл с помощью браузера Firefox, он не отобразит изображение, а скорее попросит загрузить webp-файл (формат изображения по Google кажется). Google chrome открывает файл и обычно отображает изображение.

Поскольку ваш сервер уже загружает файл, вы также можете сделать это самостоятельно (если проблема в том, что он не может сделать это правильно для webp). Вы можете легко сделать это, используя методы GD imagecreatefromwebp с imagesx и imagesy :

Примечание. imagecreatefromwebp() был впервые представлен в PHP 5.5, поэтому убедитесь, что ваша минимальная версия равна 5.5 с установленным расширением GD.

Если возможно, вы можете установить собственный веб-конвертер Google как двоичный файл на своем сервере:

В этом случае вы запускаете Amazon linux, который основан на Fedora и, следовательно, использует yum в качестве менеджера пакетов, поэтому вы должны иметь возможность запускать следующую команду:

После того, как вы установили это, вы можете убедиться, что ваш safemode поддерживает двоичный файл с помощью safe_mode_exec_dir и одного из следующих способов выполнения:

Илон Маск рекомендует:  htmlspecialchars - Преобразует специальные символы в HTML сущности

Как только вы запустили преобразование, например. JPG, вы можете запустить обычные инструменты PHP для получения размеров изображения:

Я думаю, что это связано с неподдерживаемым форматом. Попробуйте imagetypes знать, что поддерживается.

Проверьте этот пост , это может быть полезно. После установки вы сможете сделать

getimagesize

(PHP 4, PHP 5, PHP 7)

getimagesize — Получение размера изображения

Описание

Функция getimagesize() определит размер любого заданного, поддерживаемого изображения и вернет этот размер вместе с типом файла и текстовой строкой height/width, которую можно будет использовать внутри тэга HTML IMG , а также вернет соответствующий тип содержимого HTTP .

Также getimagesize() может вернуть дополнительные сведения об изображении через аргумент imageinfo .

Функция ожидает, что filename является корректным файлом изображения. Если будет передан файл не содержащий изображения, он может быть некорректно интерпретирован как изображение и функция завершится успешно, но массив при этом будет содержать бессмысленные значения.

Не используйте getimagesize() для проверки того, что файл является файлом с изображением. Для этих целей используйте расширение Fileinfo.

Замечание: Обратите внимание на тот факт, что отдельные части JPC и JP2 изображений могут иметь различную глубину цвета. В этом случае в параметре «bits» будет стоять максимальное значение из всех обнаруженных. Также JP2 файлы могут содержать несколько кодовых потоков JPEG 2000. В таком случае getimagesize() вернет значения для первого такого потока, который будет обнаружен функцией в корне файла.

Замечание: Сведения об иконках извлекаются из иконки с наибольшим битрейтом.

Замечание: Изображения GIF состоят из одного или нескольких кадров, где каждый кадр может занимать только часть изображения. Размер изображения, возвращаемый getimagesize() , будет являться общим размером (прочитанным из дескриптора логического экрана).

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

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

Этот необязательный аргумент позволяет извлечь некоторые расширенные сведения из файла изображения. На данный момент можно получать различные JPG APP маркеры в виде ассоциативного массива. Некоторые программы используют эти маркеры для встраивания текста в картинку. Наиболее часто встраивают » IPTC сведения в APP13 маркер. Для преобразования двоичных данных APP13 маркера во что-то удобочитаемое можно воспользоваться функцией iptcparse() .

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

Возвращает массив из 7 элементов. Не все типы изображений содержат элементы с каналами (channels) и битрейтом (bits).

Индексы 0 и 1 содержат ширину и высоту изображения.

Некоторые форматы файлов могут хранить несколько изображений или не содержать изображения вообще. В таких случаях getimagesize() не сможет определить размер изображения. getimagesize() вернет нули в качестве значений высоты и ширины.

Индекс 2 содержит одну из констант типа изображения IMAGETYPE_XXX.

Индекс 3 содержит строку со значениями ширины и высоты изображения height=»yyy» w , которая может быть использована внутри IMG тэга.

mime — соответствующий MIME-тип изображения. Эти сведения и спользуются для корректной обработки изображения на основании Content-type заголовка:

Пример #1 getimagesize() и MIME типы

channels принимает значение 3 для RGB картинок и 4 для CMYK.


bits — глубина цвета, число бит для каждого цвета.

В случае ошибки функция вернет FALSE .

Ошибки

Если доступ к файлу filename невозможен, getimagesize() вызовет ошибку уровня E_WARNING . В случае ошибки чтения файла getimagesize() вызовет ошибку уровня E_NOTICE .

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

Версия Описание
7.1.0 Добавлена поддержка WebP.
5.3.0 Добавлена поддержка иконок.
5.2.3 Уровень ошибок чтения, вызываемых функцией, снижен до E_NOTICE с E_WARNING .
4.3.2 Стала доступной поддержка JPC , JP2 , JPX , JB2 , XBM и WBMP .
4.3.2 Добавлена поддержка JPEG 2000 для аргумента imageinfo .
4.3.0 bits и channels стали доступны и для других типов.
4.3.0 Добавлена поддержка SWC и IFF .
4.2.0 Добавлена поддержка TIFF .
4.0.6 Добавлена поддержка BMP и PSD .

Примеры

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

Пример #3 getimagesize (URL)

// если в имени файла есть пробелы, учтите это должным образом
$size = getimagesize ( «http://www.example.com/gifs/lo%20go.gif» );

Пример #4 getimagesize() возвращающая IPTC

Примечания

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

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

  • image_type_to_mime_type() — Получение Mime-типа для типа изображения, возвращаемого функциями getimagesize, exif_read_data, exif_thumbnail, exif_imagetype
  • exif_imagetype() — Определение типа изображения
  • exif_read_data() — Читает заголовки EXIF из файлов изображений
  • exif_thumbnail() — Получает встроенное превью изображения
  • imagesx() — Получение ширины изображения
  • imagesy() — Получение высоты изображения

get_intermediate_image_sizes() WP 3.0.0

Получает массив названий всех промежуточных размеров картинок, зарегистрированных для сайта. Также можно получить все данные размеров.

В WordPress при загрузки изображения создаются дополнительные копии оригинального изображения, с разными размерами. Некоторые из них устанавливаются в настройках медиафайлов, а другие регистрируются функцией add_image_size(). Эта функция позволяет получить название всех таких размеров.

Хуки из функции
Возвращает

Массив. Массив с названиями имеющихся дополнительных размеров картинок.

Использование

Примеры

#1 Получим названия вех размеров

Однако в этом случае мы не видим данных каждого из размеров, какая для него установлена ширина и высота, кадрировано изображение или нет.

Также, если например в медиафайлах для размера «Большой» (large) установить нули (0) для высоты и ширины, то технически мы этот размер отключен — миниатюра для него уже не создается, но эта функция его покажет.

Чтобы решить все эти проблемы, смотрите следующий пример.

#2 Получим данные всех зарегистрированных размеров картинок

В WordPress нет такой встроенной функции, но её не сложно создать, имея под рукой get_intermediate_image_sizes() :

Вызвав такую функцию получим:

#2.1 Получим данные отдельного размера


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

А теперь демонстрация работы созданных функций:

getimagesize

Я пытаюсь получить изображение с нескольких внешних сайтов, поскольку я пытаюсь разработать веб-сайт обмена ссылками для моего проекта. Я загрузил…

Когда я искал, как найти размер изображения перед сохранением его на SD-карте, я нашел это: bitmap.getByteCount(); но этот метод добавлен…

Кто-нибудь знает все возможные результаты для 3-го значения, возвращенного из функции getimagesize() PHP? Пример этот код ниже возвратит: $imageinfo[‘2’] =…

move_uploaded_file((getimagesize($_FILES[$desktop_fieldname_1280x800][‘tmp_name’]), IMAGETYPE_PNG), $desktop_filename_1280x800) Я хочу проверить, является ли это изображение перед перемещением файла, возможен ли код выше? хотите сделать что-то…

Необходимо получить размеры загруженных файлов, таких как ширина, высота, размер и т.д. Я пробовал использоватьgetimagesize(), но это не работает. Я…

Мой VPS использует PHP 5.5.8 когда я тестирую Эта ошибка Предупреждение: getimagesize (): php_network_getaddresses:…

У меня есть.jpg изображение (cjonline.com/sites/default/files/13183951.jpg) из определенного url, для которого я не могу получить размер изображения, потому что он не…

У меня треска ниже : Gallery gallery = (Gallery) findViewBy >

Я хочу получить значение ширины изображения с помощью «getimagesize», но php, похоже, не получает переменные из массива функции через функцию»…

Я пытался использовать функцию getimagesize и получил эти ошибки : Примечание: неопределенный индекс: uploadedfile Предупреждение: getimagesize (): имя файла не…

ошибка в строке 27″ getimagesize «функция, я загружаю изображение в том же «пути», но когда я продолжаю действия, я получил…

Мое требование является то,что когда-либо размер(ширина, высота не размер файла) изображение, хранящееся в базе данных, мне нужно получить, что как…

ResizeImageGet

Метод уменьшает картинку и размещает уменьшенную копию в папку /upload/resize_cache/путь. Один раз уменьшив изображение получаем физический файл, который позволяет при последующих обращениях не проводить операции по уменьшению изображения. При следующем вызове метод вернет путь к уменьшенному файлу. Статический метод.

Параметры

Параметр Описание С версии
file Идентификатор файла из таблицы b_file или массив описания файла (Array(FILE_NAME, SUBDIR, WIDTH, HEIGHT, CONTENT_TYPE)), полученный методом GetFileArray.
Size Массив в виде Array(«width»=>WIDTH, «height»=>HEIGHT) со значениями ширины и высоты для уменьшаемой картинки. Оба ключа обязательны.
resizeType Тип масштабирования:
  • BX_RESIZE_IMAGE_EXACT — масштабирует в прямоугольник $arSize c сохранением пропорций, обрезая лишнее;
  • BX_RESIZE_IMAGE_PROPORTIONAL — масштабирует с сохранением пропорций, размер ограничивается $arSize;
  • BX_RESIZE_IMAGE_PROPORTIONAL_ALT — масштабирует с сохранением пропорций за ширину при этом принимается максимальное значение из высоты/ширины, размер ограничивается $arSize, улучшенная обработка вертикальных картинок.
InitSizes Флаг возвращения в результирующем массив размеров измененной картинки. True — возвращает, false — нет
Filters Массив массивов для постобработки картинки с помощью фильтров: array(array(«name» => «sharpen», «precision» => 15)). Фильтров пока один — sharpen. Задавать его не обязательно — будет инициализирован автоматом. Используется для наведения резкости у миниатюр. 10.0.4
Immediate Флаг передается в обработчик события OnBeforeResizeImage, по смыслу означает масштабирование непосредственно при вызове метода. Обработчик в принципе может выполнять отложенное масштабирование. 12.0.10
jpgQuality Число, устанавливающее в процентах качество JPG при масштабировании. Чем больше значение, тем выше качество и больше размер файла изображения. 12.5.0

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

Метод возвращает массив вида:

Примеры использования

Наложить водяной знак можно таким образом:

Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.

Случалось, что автоматически инициализируемый фильтр sharpen оставлял артефакты на PNG с прозрачностью. Чтобы избежать этого, можно задать precision равным нулю

Getimagesize — получает размер изображения

Функция getimagesize() определяет размер любого изображения GIF, JPG, PNG, SWF, SWC, PSD, TIFF, BMP или IFF. Хорошая практика — использование результатов данной функции на динамических страницах внутри IMG тэга. Синтаксис:


array getimagesize ( string filename [, array imageinfo])

Функция возвращает массив состоящий из четырех элементов. Индекс 0 содержит ширину изображения в пикселях. Индекс 1 — высоту. Индекс 2 — индикатор типа изображения: 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF(intel byte order), 8 = TIFF(motorola byte order), 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF. Индекс 3 — корректная строка height=»yyy» w которая может быть использована непосредственно в IMG тэге.

Функции ImageSX, ImageSY (аналогичные getimagesize) возвращают лишь один размер — ширину или высоту соответственно. Все три функции имеют лишь один параметр — ссылку на изображение.

Пример получения размера картинки из файла:

Getimagesize — получает размер изображения

Вы можете использовать фуннкции работы с изображениями для получения размеров картинок в файлах JPEG, GIF, PNG, и, если у Вас есть библиотека GD (доступна на http://www.boutell.com/gd/), Вы также будете иметь возможность создавать GIF-изображения и управлять ими.

GetImageSize

Описание

Функция GetImageSize() определяет размеры любых изображений в файлах GIF , JPG или PNG и возвращает размерность вместе с типом файла и строкой в формате высота/ширина, которую можно использовать в стандартном теге HTML IMG .

Возвращается массив из четырех элементов. Индекс 0 содержит ширину изображения в пикселах. Элемент 1 содержит высоту. Элемент 2 — флаг типа изображения. 1 = GIF, 2 = JPG, 3 = PNG. Элемент 3 — строку с корректным заданием «height=xxx w >

Пример 1. GetImageSize

Опциональный параметр imageinfo позволяет Вам получить некоторую дополнительную информацию о файле изображения. Сейчас возвращаеются разнообразные JPG APP маркеры в ассоцированном массиве. Некоторые программы используют эти APP для встраивания текстовой информации в изображение. Очень распространено встраивание IPTC http://www.xe.net/iptc/ информации в APP13 маркер. Вы можете использовать функцию iptcparse() для перевода бинарного APP13 маркера в нечто читабельное.

Пример 2. GetImageSize возвращает IPTC

Примечание: Эта функция не требует библиотеки GD.

ImageArc

Описание

ImageArc рисует чать эллипса с центро в cx, cy (верхний левый угол — 0,0) в изображении im. w и h определяют высоту и ширину эллипса в соответствии с начальной и конечной точкой, определенными в аргументах s и e.

ImageChar

Описание

ImageChar рисует первый символ из c в рисунке id с верхним левым углом в x , y (верхний левый — 0,0) цветом col . Шрифтом 1, 2, 3, 4 или 5, используются встроенные шрифты (больше цифра — больше шрифт).

ImageCharUp

Описание

ImageCharUp рисует символ c вертикально в изображении im по координатам x, y (верхний левый — 0, 0) с цветом col. Если font равен 1, 2, 3, 4 или 5, используются встроенные шрифты.

ImageColorAllocate

Описание

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

ImageColorTransparent

Описание

ImageColorTransparent устанавливает прозрачный цвет в изображении im в col. im — идентификатор изображения, возвращенный imagecreate() , а col — идентификатор цвета, возвращенный функцией imagecolorallocate() .

Возвращается идентификатор нового (или текущего, если не указан параметр col) прозрачного цвета.

ImageCopyResized


Описание

ImageCopyResized копир область одного изображения в другое. dst_im — изображение-получатель, src_im — исходное изображение. Если координаты исходного и результирующего изображений различны по ширине и высоте, производится соответствующее сжатие/растягивание фрагмента изображения. Координаты — относительно левого верхнего угла. Функция может быть использована для копирования фрагментов одного и того же изображения (если dst_im равно src_im ) но если области перекроются, результат может быть непредсказуемым.

ImageCreate

Описание

ImageCreate возвращает идентификатор изображения чистого листа размерами x_size на y_size.

ImageCreateFromGif

Описание

ImageCreateFromGif возвращает идентификатор изображения, полученного из filename.

ImageDashedLine

Описание

ImageLine рисует пунктирную линию от x1,y1 до x2,y2 (верхний левй угол — 0,0) в изображении im цветом col.

ImageDestroy

Описание

ImageDestroy освобождает память, ассоциированную с изображением im. im — идентификатор, возвращенный функцией imagecreate() .

ImageFill

Описание

ImageFill выполняет заливку, начиная с координат x, y (верхний левй угол — 0,0) цветом col изображения im.

ImageFilledPolygon

Описание

ImageFilledPolygon создает закрашенный многоугольник в изображении im. points — массив PHP содержит вершины многоугольника: num_points — общее число вершин.

ImageFilledRectangle

Описание

ImageFilledRectangle создает закрашенный прямоугольник цвета col в изображении im, начиная с координат верхнего левого угла x1, y1, и заканчивая в правом нижнем — x2, y2. 0, 0 — левый верхний угол изображения.

ImageFillToBorder

Описание

ImageFillToBorder выполняет заливку до границы, определенной цветом в border. Начальная точка заливки — x,y (верхний левый угол — 0,0) и облласть заливается цветом col.

ImageFontHeight

Описание

Возвращает высоту шрифта font в пикселах.

ImageFontWidth

Описание

Возвращает ширину символа шрифта font в пикселах.


ImageGif

Описание

ImageGif создает GIF файл с именем filename из изображения im. Аргумент im возвращается функцией imagecreate().

Формат изображения будет соответствовать спецификации GIF87a, если изображение не было сделано прозрачным функцией imagecolortransparent() , в этом случае формат будет соответствовать GIF89a.

Аргумент filename опционален, и если он отсутствует, строки изображения будут выводиться непосредственно на брайзер потоком. Указав тип изображения image/gif в функции header, вы можете создавать PHP скрипты, которые будут выводить GIF на браузер.

ImageInterlace

Описание

ImageInterlace() переключает бит чередования. Если interlace равен 1, изображение im будет выводиться поэтапно, и если interlace равно 0, чередование выключено.

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

ImageLine

Описание

ImageLine рисует линию от x1,y1 до x2,y2 (левй верхний точка — 0,0) в изображении im цветом col.

ImageLoadFont

Описание

ImageLoadFont загружает пользовательский растровый шрифт и возвращает идентификатор шрифта (который всегда больше 5, тобы не вызвать конфликта со встроенными шрифтами).

Файл шрифта — двоичный и архиетктурно зависимый. Это значит, что Вам следует генерировать файл шрифта на том процессоре (архитектуре), на котором Вы будете запускать PHP.

Таблица 1. Формат файла шрифта

позиция байта тип данных C Описание
байты 0-3 int число символов в шрифте
байты 4-7 int значение первого символа в шрифте (часто 32 для пробела)
байты 8-11 int ширина символов в пикселах
байты 12-15 int высота символов в пикселах
байты 16- char массив с данными на символы, один байт на пиксел, для каждого символа — nchars*width*height.

ImagePolygon

Описание

ImagePolygon создает многоугольник в изображении im. points — массив PHP, содержащий вершины многоугольника, т.е points[0] = x0, points[1] = y0, points[2] = x1, points[3] = y1, etc. num_points — общее число вершин.

ImageRectangle

Описание

ImageRectangle создает прямоугольник цветом col в изображении im, начиния с левой верхней координаты x1,y1 и заканчивая нижней правой x2,y2. 0,0 — левй верхний угол изображения.

ImageSetPixel

Описание

ImageSetPixel рисует пиксел x,y (верхний левый — 0,0) в изображении im цветом col.

ImageString

Описание

ImageString рисует строку s в изображении im по координатам x,y (верхний левый — 0,0) цветом col. Если font равен 1, 2, 3, 4 или 5, используются встроенные шрифты.

ImageStringUp

Описание

ImageStringUp рисует строку s вертикально в изображении im по координатам x,y (верхний левый — 0,0) цветом col. Если font равен 1, 2, 3, 4 или 5, используются встроенные шрифты.


ImageSX

Описание

ImageSX возвращает ширину изображения, определяемого im.

ImageSY

Описание

ImageSY возвращает высоту изображения, определяемого im.

ImageTTFBBox

Описание

Функция рассчитывает и возвращает границы области (в пикселах) для текста с шрифтами TrueType.

Измеряемая строка. size

Размер шрифта. fontfile

Имя файла TrueType шрифта. (Может быть и URL.) angle

Угол в градусах, под которым наклонен измеряемый text . ImageTTFBBox() возвращает массив из 8-и элементов, представляющих четыре точки границы области текста:

нижний левый угол, позиция X
1 нижний левый угол, позиция Y
2 нижний правый угол, позиция X
3 нижний правый угол, позиция Y
4 верхний правый угол, позиция X
5 верхний правый угол, позиция Y
6 верхний левый угол, позиция X
7 верхний левый угол, позиция Y

Точки относятся к text безотносительно к углу, т.е «верхний левый» означает верхний левый угол текста при его горизонтальном расположении.

Функция требует две библиотеки: GD и Freetype.

ImageTTFText

Описание

ImageTTFText рисует строку text в изображении, идентифицируемом im , начиная с координат x,y (верхняя левая — 0,0), под углом angle цветом col , используя файл TrueType шрифта, указанный в fontfile .

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

angle в градусах, 0 означает написание текста с лава на право (в направлении на 3 часа), более высокие значения — поворот против часовой стрелки (т.е. 90 — написание текста с низу вверх).

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

text — строка текста, которая может включать символы UTF-8 (в форма: < ) для доступа к сиволам за пределами первых 255.

col индекс цвета. Использование отрицания индекса цвета имеет эффект включения антиалиасинга.

ImageTTFText() возвращает массив из 8 элементов, представляющих четыре точки границы области вывода текста. Порядок точек: вепхняя левая, верхняя правая, нижняя правая, нижняя левая. ТОчки относятся к тексту без учета угла, т.е. «верхняя левая» означает верхний левый угол горизонтально расположенного текста.

Скрипт этого примера создает черный GIF 400×30 пикселей, со словом «Testing. «, написанным шрифтом Arial.

Пример 1. ImageTTFText

ImageColorAt

Описание

Returns the index of the color of the pixel at the specified location in the image.

ImageColorClosest

Описание

Возвращает индекс цвета в палитре изображения, который «ближе всего» к указанному набору RGB.


«Дистанция» между желанным цветом и каждым цветом в палитре определяется так, как будто значения RGB определяют точки в трехмерном пространстве.

ImageColorExact

Описание

Возвращает индекс указанного цвета в палитре изображения.

Если цвет в палитре изображения не присутствует, возвращается -1.

ImageColorResolve

Описание

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

ImageColorSet

Описание

Эти установки устанавливают соответствие между индексом в палитре и цветом. это используется для создания эффектов сплошной заливки в палитре изображения без накладных расходов преобразования текущей заливки.

ImageColorsForIndex

Описание

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

ImageColorsTotal

Описание

Возвращает количество цветов в указанной палитре.

Getimagesize — получает размер изображения

getimagesize — получает размер изображения.

Описание

array getimagesize (string filename [, array imageinfo])

Функция getimagesize() определяет размер изображения GIF, JPG, PNG, SWF, PSD, TIFF или BMP и возвращает размеры, тип файла и высоту/ширину текстовой строки, используемой внутри нормального HTML-тэга IMG .

Возвращает массив из 4 элементов. Индекс 0 содержит ширину/w >

Пример 1. getimagesize (file)
Пример 2. getimagesize (URL)

С изображениями JPG возвращаются два дополнительных индекса: channel и bits .
channel имеет значение 3 для RGB-рисунков и 4 для CMYK-рисунков.
bits это количество битов для каждого цвета.

Если доступ к файлу filename изображения невозможен или если это неправильное изображение, getimagesize() возвратит NULL и сгенерирует предупреждение.

Необязательный параметр imageinfo позволяет извлекать расширенную информацию из файла изображения. В настоящее время возвращается различные JPG APP-маркёры в ассоциативном массиве. Некоторые программы используют эти APP-маркёры для внедрения текстовой информации в изображения. Обычным является внедрение IPTC-информации http://www.iptc.org/ в маркёр APP13. Вы можете использовать функцию iptcparse() для разбора двоичного маркёра APP13 в нечто читабельное.

Пример 3. getimagesize возвращает IPTC

Примечание: поддержка TIFF была введена в PHP 4.2. Поддержка JPEG2000 была введена в PHP 4.3.

Эта функция не требует библиотеки GD image.

Поддержка URL была введена в PHP 4.0.5.

Илон Маск рекомендует:  Как определить позицию курсора в консоли win32
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL