Что такое код imagecolorset

Содержание

как вы конвертируете hex в rgb, чтобы его можно было использовать с imagecolourset?

У меня есть изображение, которое я хотел бы изменить цвет на основе цвета, заданного переменной. Проблема заключается в том, что значение исходит от источника данных, так как hex и imagecolourset работают с rgb. Я настроил функцию преобразования:

и затем используйте это так:

но я получаю сообщение об ошибке, говорящее, что imagecolorset только за исключением 5 параметров, и есть только 3 набора. результат должен печатать 225,225,225, поэтому я не понимаю, почему он читает его как только 1 параметр вместо 3. Если я вручную поместил 225 225 255, тогда код работает нормально. Не знаете, где я ошибаюсь?

Вы пытаетесь передать переменную типа данных STRING, когда функция PHP imagecolorset() вместо этого требует, чтобы вы передавали значения rgb как три отдельных параметра типа данных INTEGER.

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

Вместо этого измените свою функцию, чтобы вернуть массив:

И затем используйте его как:

Если вы по какой-то причине абсолютно не можете или не будете изменять hex2rgb -function, обходным решением было бы использовать call_user_func_array():

Это не рекомендуется, хотя из-за накладных расходов ненужного взрыва и взрыва и т.д.

imagecolorset

(PHP 4, PHP 5, PHP 7)

imagecolorset — Установка набора цветов для заданного индекса палитры

Описание

Эта функция устанавливает соответствие индекса в палитре заданному цвету. Это полезно для создания эффекта подобного заливке цветом без осуществления заливки.

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

Ресурс изображения, полученный одной из функций создания изображений, например, такой как imagecreatetruecolor() .

Индекс в палитре.

Значение красного компонента цвета.

Значение зеленого компонента цвета.

Значение синего компонента цвета.

Значение альфа компонента.

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

Эта функция не возвращает значения после выполнения.

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

Версия Описание
5.4.0 Добавлен аргумент alpha .

Примеры

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

// Создание изображения размером 300×100
$im = imagecreate ( 300 , 100 );

// Установка красного цвета фона
imagecolorallocate ( $im , 255 , 0 , 0 );

// Получение индекса цвета фона
$bg = imagecolorat ( $im , 0 , 0 );

// Установка синего цвета фона
imagecolorset ( $im , $bg , 0 , 0 , 255 );

// Вывод изображения в броузер
header ( ‘Content-Type: image/png’ );

imagepng ( $im );
imagedestroy ( $im );
?>

Справочник по PHP : Графика : Работа с изображениями и библиотека GD : Работа с цветом в формате RGB

Материал из WebWikiABCD

Содержание

imageColorAllocate

Создание нового цвета и занесение его в палитру рисунка.

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

Параметры red, green и blue задают красный, зеленый и синий компоненты цвета соответственно. Значения этих параметров должны лежать в пределах от 0 до 255, или от 0x00 до 0xFF.

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

Пример: Пример использования функции imageColorAllocate():

imageColorDeAllocate

Исключение цвета из палитры рисунка.

Эта функция удаляет из палитры рисунка im цвет color, который был предварительно занесен в рисунок функцией imageColorAllocate().

Пример: Пример использования функции imageColorDeAllocate():

imageColorSet

Замена цвета определенного элемента палитры.

Данная функция устанавливает для элемента палитры index рисунка im значения компонент цвета: red (красный), green (зеленый), blue (синий). При этом все части рисунка, закрашенные данным цветом, также изменят свой оттенок.

imageColorClosest

Получение цвета палитры, наиболее близкого к указанному.

Вместо того, чтобы пытаться выискать свободное место в палитре цветов, эта функция просто возвращает идентификатор цвета, уже существующего в рисунке и находящегося ближе всего к затребованному. Таким образом, нового цвета в палитру не добавляется. Если палитра не велика, то функция может вернуть не совсем тот цвет, который вы ожидаете. Например, в палитре из трех цветов «красный-зеленый-синий» на запрос желтого цвета будет, скорее всего, возвращен идентификатор зеленого — он ближе всего с точки зрения GD соответствует понятию «зеленый».

imageColorTransparent

Определение цвета прозрачности.

Эта функция указывает GD, что соответствующий цвет color (заданный своим идентификатором при помощи функции imageColorAllocate()) в изображении im (im — идентификатор изображения, заданный функцией imageCreate()) должен обозначиться как прозрачный. Возвращает идентификатор установленного до этого прозрачного цвета, либо false, если таковой не был определен ранее.

Надо отметить, что не все форматы поддерживают задание прозрачного цвета — например, JPEG не может его содержать.

imageColorsForIndex

Получение RGB-составляющих элемента палитры.

Функция возвращает ассоциативный массив с ключами red, green, blue (именно в таком порядке), которым соответствуют значения, равные величинам компонент RGB в идентификаторе цвета index. Но мы можем и не обращать особого внимания на ключи и преобразовать возвращенное значение как список:

imageColorAt

Возвращает индекс цвета точки.

Эта функция возвращает цвет точки, расположенной на координатах (x, y). Если PHP скомпилирован с GD library 2.0 или выше, а картинка — truecolor, то эта функция возвратит идентификатор цвета, а не его RGB-представление.

imageColorsTotal

Получение количества цветов в палитре.

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

imageColorExact

Получение индекса цвета палитры.

Функция возвращает индекс указанного цвета (red, green, blue) в палитре изображения im.

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

imageColorResolve

Нахождение или создание указанного цвета.

Функция возвращает индекс указанного цвета (red, green, blue) в палитре изображения im.

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

imageGammaCorrect

Применение гамма-коррекции рисунка.

Эта функция производит исправления гаммы к изображению, заданному дескриптором im. Параметр inputgamma задает входную гамму, а outputgamma — гамму вывода.

imagecolorset не работает с альфа-значением

Руководство вот утверждает, что функция PNG imagecolorset() принимает красное, зеленое, синее и альфа-значение, однако, когда я задаю альфа-значение, PHP выдает мне ошибку:

Предупреждение: imagecolorset() ожидает ровно 5 параметров, 6 заданных

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

Есть идеи, что может быть не так?

1 ответ

Возможно, для Вашего проекта будут необходимы бесплатные векторные карты. На нашем сайте представлены карты для всех стран.

Поддержка альфа (и связанный с ней параметр) была добавлена ​​в v5.4.0, как это четко указано в журнале изменений man-страницы функции: http://php.net/imagecolorset#refsect1-function.imagecolorset-changelog

Вам придется обновить версию PHP или не использовать альфа.

Работа с цветом в формате RGB

Работа с цветом в формате RGB

imageColorAllocate

Создание нового цвета и занесение его в палитру рисунка.

Синтаксис:

int imageColorAllocate(int im, int red, int green, int blue)

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

Параметры red, green и blue задают красный, зеленый и синий компоненты цвета соответственно. Значения этих параметров должны лежать в пределах от 0 до 255, или от 0x00 до 0xFF.

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

Пример:Пример использования функции imageColorAllocate():

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

$white = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);

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

$black = imagecolorallocate($im, 0x00, 0x00, 0x00);

imageColorDeAllocate

Исключение цвета из палитры рисунка.

Синтаксис:

int imageColorDeAllocate(int im, int color)

Эта функция удаляет из палитры рисунка im цвет color, который был предварительно занесен в рисунок функцией imageColorAllocate().

Пример:Пример использования функции imageColorDeAllocate():

$white = imageColorAllocate ($im, 255, 255, 255);

imageColorDeAllocate ($im, $white);

imageColorSet

Замена цвета определенного элемента палитры.

Синтаксис:

bool imageColorSet(int im, int index, int red, int green, int blue)

Данная функция устанавливает для элемента палитры index рисунка im значения компонент цвета: red (красный), green (зеленый), blue (синий). При этом все части рисунка, закрашенные данным цветом, также изменят свой оттенок.

imageColorClosest

Получение цвета палитры, наиболее близкого к указанному.

Синтаксис:

int imageColorClosest(int im, int red, int green, int blue)

Вместо того, чтобы пытаться выискать свободное место в палитре цветов, эта функция просто возвращает идентификатор цвета, уже существующего в рисунке и находящегося ближе всего к затребованному. Таким образом, нового цвета в палитру не добавляется. Если палитра не велика, то функция может вернуть не совсем тот цвет, который вы ожидаете. Например, в палитре из трех цветов «красный-зеленый-синий» на запрос желтого цвета будет, скорее всего, возвращен идентификатор зеленого — он ближе всего с точки зрения GD соответствует понятию «зеленый».

imageColorTransparent

Определение цвета прозрачности.

Синтаксис:

int imageColorTransparent(int im [,int color])

Эта функция указывает GD, что соответствующий цвет color (заданный своим идентификатором при помощи функции imageColorAllocate()) в изображении im (im — идентификатор изображения, заданный функцией imageCreate()) должен обозначиться как прозрачный. Возвращает идентификатор установленного до этого прозрачного цвета, либо false, если таковой не был определен ранее.

Надо отметить, что не все форматы поддерживают задание прозрачного цвета — например, JPEG не может его содержать.

imageColorsForIndex

Получение RGB-составляющих элемента палитры.

Синтаксис:

array imageColorsForIndex(int im, int index)

Функция возвращает ассоциативный массив с ключами red, green, blue (именно в таком порядке), которым соответствуют значения, равные величинам компонент RGB в идентификаторе цвета index. Но мы можем и не обращать особого внимания на ключи и преобразовать возвращенное значение как список:

imageColorAt

Возвращает индекс цвета точки.

Синтаксис:

int imageColorAt(int im, int x, int y)

Эта функция возвращает цвет точки, расположенной на координатах (x, y).Если PHP скомпилирован с GD library 2.0 или выше, а картинка — truecolor, то эта функция возвратит идентификатор цвета, а не его RGB-представление.

$rgb = ImageColorAt($im, 100, 100);

imageColorsTotal

Получение количества цветов в палитре.

Синтаксис:

int imageColorsTotal(int im)

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

imageColorExact

Получение индекса цвета палитры.

Синтаксис:

int imageColorExact(int im, int red, int green, int blue)

Функция возвращает индекс указанного цвета (red, green, blue) в палитре изображения im.

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

imageColorResolve

Нахождение или создание указанного цвета.

Синтаксис:

int imageColorResolve(int im, int red, int green, int blue)

Функция возвращает индекс указанного цвета (red, green, blue) в палитре изображения im.

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

imageGammaCorrect

Применение гамма-коррекции рисунка.

Синтаксис:

int imageGammaCorrect(int im, double inputgamma, double outputgamma)

Эта функция производит исправления гаммы к изображению, заданному дескриптором im.Параметр inputgamma задает входную гамму, а outputgamma — гамму вывода.

Похожие главы из других книг

Сохранение DataSet (и DataTable) в формате XML

Сохранение DataSet (и DataTable) в формате XML В завершение рассмотрения текущего примера напомним, что как DataSet, так и DataTable предлагают поддержку методов WriteXml() и ReadXml(). Метод WriteXml() позволяет сохранить содержимое объекта в локальном файле (или вообще в любом типе System.IO.Stream) в виде

§ 2.2 Пример книги в формате FictionBook

§ 2.2 Пример книги в формате FictionBook Cпецификация (schema) FictionBook находится на сайте Дмитрия Грибова, а также входит в комплект FB Tools. Поэтому размещать ее в электронной версии книги смысла нет.Но пример книги в формате FictionBook привести необходимо:

13.4.1. Сохранение документа в формате MS Word

13.4.1. Сохранение документа в формате MS Word Для сохранения документа нажмите комбинацию клавиш Ctrl+S (или выполните команду меню Файл, Сохранить или нажмите кнопку с изображением дискетки на стандартной панели инструментов — как вам больше нравится). Если вы ни разу еще не

13.4.4. Сохранение документа в другом формате

13.4.4. Сохранение документа в другом формате По умолчанию документы сохраняются в родном формате MS Word. Формат документа современных версий MS Word совместим с довольно старым форматом MS Word 97. Другими словами, если кто-то из ваших друзей до сих пор работает в Windows 95/98 с офисным

Color Overlay (Покрытие цветом)

Color Overlay (Покрытие цветом) Color Overlay (Покрытие цветом) – эффект, позволяющий тем или иным способом покрыть изображение определенным цветом. Применяется он, как правило, для коррекции оттенка цвета необходимого элемента, а также для общей коррекции оттенка

Chrominance Noise & Artifact (Шум, связанный с цветом, и устранение артефактов)

Chrominance Noise & Artifact (Шум, связанный с цветом, и устранение артефактов) На втором этапе работы с Dfine предлагается устранить шумы, связанные с цветом и со сжатием изображений в формат JPG.ПРИМЕЧАНИЕ.При переходе на второй этап работы с Dfine напротив названия первого этапа

Записная книжка в формате XML

Записная книжка в формате XML В предыдущей главе мы рассматривали сценарий для работы с записной книжкой, которая хранится в простом текстовом файле book.txt с разделителями. Каждая строка этого файла содержала одну запись в формате

10.2.5. Работа с данными в формате CSV

10.2.6. Маршалинг в формате YAML

Вывод в формате XHTML

Вывод в формате XHTML W3C представил XHTML как последователя HTML, но ни в XSLT 1.0, ни в рабочем проекте XSLT 1.1 нет никакой специальной поддержки для преобразований из XML в XHTML. Предполагается, что надлежащая поддержка будет включена в XSLT 2.0. Тем не менее, при помощи процессоров XSLT все

Базовые средства управления цветом

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

Глава 6 Работа с цветом и стилем линий

Глава 6 Работа с цветом и стилем линий Что такое рисование? В основном — работа с цветом. Настроение любой картины создается в значительной степени соответствующим подбором цветов. Более того, настоящий художник должен иметь превосходное цветовое зрение, чтобы различить

Платы ввода в формате MPEG

Платы ввода в формате MPEG В этой группе представлены чуть более серьезные устройства. Они имеют не только видео-, но и звуковые входы, что снимает проблемы с синхронизацией звукового сопровождения.Плата Darim MPEGatorПлата видеоввода с компрессией MPEG 1. Выполняет одновременное

Управление цветом

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

8.1. Выделение текста цветом

8.1. Выделение текста цветом Выбор цветовой схемы страницы – одна из главных и сложных задач, которые стоят перед веб-дизайнером. Поэтому в последующих двух разделах разберемся со способами задания цвета в CSS, научимся менять цвет текста и выделять его.Надо отметить, что

DC (Defocus-image Control) что это такое и с чем это едят?

Информация об этом сообществе

  • Цена размещения 100 жетонов
  • Социальный капитал61
  • Количество читателей
  • Длительность 24 часа
  • Минимальная ставка 100 жетонов
  • Посмотреть все предложения по Промо
  • Добавить комментарий
  • 5 комментариев

Android

Выбрать язык Текущая версия v.362.1

Image Control своими руками в Visual C++

В Visual C++ нет нормального стандартного способа отображения произвольных изображений на форме. Конечно, можно воспользоваться Picture Control, но изображение в нем можно установить только из ресурсов (насколько я помню), отсутствует возможность масштабирования, и нет поддержки скролбаров, если изображение выходит за границы контрола. Эти задачи и были реализованы в Image Control (часть кода была заимствована из другого контрола, но к сожалению источник уже затерялся, так как делал я это давно).

Называется класс CImageViewer, и наследуется он от CWnd. Изображение, отображаемое в контроле, хранится в члене класса m_image с типом CImage. Это позволит нам отображать изображения большинства популярных форматов. Основные методы класса:

— Установка изображения: void SetImage(CImage *image);
— Увеличить: void ZoomIn();
— Уменьшить: void ZoomOut();

Остальные методы и члена класса являются служебными.

void Paint() отвечает за отрисовку изображения и установка Scroll Bar если нужно.

Использовать класс очень просто, кидаете на форму Custom control, устанавливаете свойство Class в значение CImageViewer и добавляете переменную image_ctrl с типом CimageViewer (не забываем подключить заголовочный файл ImageViewer.h). Далее создаете объект с типом CImage, например img и вызываете метод CImageViewer::SetImage:

Используя функции ZoomIn()/ZoomOut() можно увеличивать и уменьшать изображение.

Иногда могут потребоваться координаты, в которых щелкнули левой кнопкой мыши, для этого нужно переопределить класс CImageViewer примерно так:

P. S.: Пример с исходниками можно скачать здесь. Данный класс еще нужно немного доработать, при масштабировании в изображении искажаются цвета, и размеры ползунков скролбаров не меняются при изменении размеров изображения.

Image Codec Info. Get Image Encoders Метод

Определение

Возвращает массив объектов ImageCodecInfo, содержащий информацию о кодировщиках изображений, встроенных в GDI+. Returns an array of ImageCodecInfo objects that contain information about the image encoders built into GDI+.

Возвраты

Массив объектов ImageCodecInfo. An array of ImageCodecInfo objects. Каждый объект ImageCodecInfo в массиве содержит информацию об одном из встроенных кодировщиков изображений. Each ImageCodecInfo object in the array contains information about one of the built-in image encoders.

Примеры

Следующий пример предназначен для использования с Windows Forms и требует PaintEventArgs e , что Paint является параметром обработчика событий. The following example is designed for use with Windows Forms, and it requires PaintEventArgs e , which is a parameter of the Paint event handler. В коде используется GetImageEncoders метод для получения всех сведений о кодеке для всех установленных кодировщиков изображений и кодеков, а затем на экран выводится вся информация о каждом коде. The code uses the GetImageEncoders method to retrieve all the codec information for all installed image encoders and codecs, and then draws all the information about each codec to the screen.

imagecolorset

Set the color for the specified palette index

Description

This sets the specified index in the palette to the specified color. This is useful for creating flood-fill-like effects in palleted images without the overhead of performing the actual flood-fill.

Parameters

An image resource, returned by one of the image creation functions, such as imagecreatetruecolor .

An index in the palette.

Value of red component.

Value of green component.

Value of blue component.

Value of alpha component.

Return Values

No value is returned.

Changelog

Version Description
5.4.0 The alpha parameter was added.

Examples

Example #1 imagecolorset example

// Create a 300×100 image
$im = imagecreate ( 300 , 100 );

// Set the background to be red
imagecolorallocate ( $im , 255 , 0 , 0 );

// Get the color index for the background
$bg = imagecolorat ( $im , 0 , 0 );

// Set the backgrund to be blue
imagecolorset ( $im , $bg , 0 , 0 , 255 );

// Output the image to the browser
header ( ‘Content-Type: image/png’ );

imagepng ( $im );
imagedestroy ( $im );
?>

imagecolorset не работает с альфа-значением

В руководстве здесь указано, что функция PNG imagecolorset() принимает значение красного, зеленого, синего и альфа, однако, когда я указываю альфа-значение, PHP дает мне ошибку:

Предупреждение: imagecolorset() ожидает ровно 5 параметров, 6 заданных

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

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