Что такое код imagecolorclosest


imagecolorclosest

Руководство по PHP
Пред. След.

imagecolorclosest

(PHP 3, PHP 4, PHP 5)

imagecolorclosest — Get the index of the closest color to the specified color

Description

Returns the index of the color in the palette of the image which is «closest» to the specified RGB value.

The «distance» between the desired color and each color in the palette is calculated as if the RGB values represented points in three-dimensional space.

If you created the image from a file, only colors used in the image are resolved. Colors present only in the pallete are not resolved.

php — imagecolorallocatealpha возвращает белое изображение

У меня проблема с imagecolorallocatealpha в PHP. При установке непрозрачности до 127 я получаю белое изображение вместо прозрачного.

Я тоже пробовал этот, но я получаю тот же результат

Есть идеи? Может ли это быть связано с конфигурацией сервера?

    2 2
  • 24 апр 2020 2020-04-24 03:55:23
  • skwi

2 ответа

Если весь код, который вы используете для файла изображения, вы не определили никаких значений для переменных $width и $height , и скрипт выдает ошибку.

Как правило, когда вы хотите отлаживать изображение, удалите заголовок Content-Type. Таким образом, вы можете просмотреть любые возможные ошибки, обратившись к скрипту в браузере.

  • 24 апр 2020 2020-04-24 03:55:24
  • Victor Stanciu

Заменить первую строку

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

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

Чтобы изменить цвет прозрачности с белого, используйте:

Новые книги

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

Как найти в Интернете информацию о конкретных людях, компаниях и товарах? Как организовать продвижение собственного предприятия в Сети? Как уберечься от хакеров и спрятать информацию на своем компьютере от посторонних? Как бороться с вирусами и вредоносными программами? Ответы на эти и многие другие вопросы вы найдете в нашей книге – подробном путеводителе по миру Интернета. Представленные здесь практические советы помогут вам не просто выстоять в конкурентной или информационной борьбе, но и победить в ней, изучив неизвестные рядовому пользователю возможности Всемирной паутины.

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

Project Management for Dummies» style=»float: left; margin: 4px; box-shadow: 0 0 8px rgba(0, 0, 0, 0.8);»>Одна из последних тенденций в деловом мире — проектная система организации работ; в последние годы навыки управления проектами требуются от менеджеров практически любого уровня. В этой книге вы найдете информацию о различных подходах к планированию и управлению проектами, научитесь составлять планы, графики работ и бюджет, а также правильно организовывать и контролировать процесс выполнения проекта. Вы узнаете о значении хороших взаимоотношений с людьми — теми, кто выполняет проект с вами, и теми, для кого он выполняется.

Илон Маск рекомендует:  Что такое код tell

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

Получение индекса цвета ближайшего к заданному

(PHP 4, PHP 5, PHP 7)

imagecolorclosest — Получение индекса цвета ближайшего к заданному

Описание

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

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

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

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

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


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

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

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

Параметры цвета могут быть либо целочисленными в диапазоне от 0 до 255, либо шестнадцатеричными в диапазоне от 0x00 до 0xFF.

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

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

Примеры

Пример #1 Поиск набора цветов изображения

// Создание изображения и преобразование его в палитровое
$im = imagecreatefrompng ( ‘figures/imagecolorclosest.png’ );
imagetruecolortopalette ( $im , false , 255 );

// Цвета для поиска (RGB)
$colors = array(
array( 254 , 145 , 154 ),
array( 153 , 145 , 188 ),
array( 153 , 90 , 145 ),
array( 255 , 137 , 92 )
);

// Проход по каждому цвету и поиск ближайшего к нему в палитре.
// Возврат номера по порядку, RGB искомого цвета и найденное RGB соответствие
foreach( $colors as $id => $rgb )
<
$result = imagecolorclosest ( $im , $rgb [ 0 ], $rgb [ 1 ], $rgb [ 2 ]);
$result = imagecolorsforindex ( $im , $result );
$result = «( < $result [ 'red' ]>, < $result [ 'green' ]>, < $result [ 'blue' ]>)» ;

echo «# $id : Search ( $rgb [ 0 ] , $rgb [ 1 ] , $rgb [ 2 ] ); Closest match: $result .\n» ;
>

Результатом выполнения данного примера будет что-то подобное:

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

  • imagecolorexact() — Получение индекса заданного цвета
  • imagecolorclosestalpha() — Получение индекса цвета ближайшего к заданному с учетом прозрачности
  • imagecolorclosesthwb() — Получение индекса цвета, имеющего заданный тон, белизну и затемнение

imagecolorallocatealpha возвращает белое изображение

У меня проблема с imagecolorallocatealpha в PHP. При установке непрозрачности до 127 я получаю белое изображение вместо прозрачного.

Я тоже пробовал этот, но я получаю тот же результат

Есть идеи? Может ли это быть связано с конфигурацией сервера?

Заменить первую строку

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

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

Чтобы изменить цвет прозрачности с белого, используйте:

Если весь код, который вы используете для файла изображения, вы не определили никаких значений для переменных $width и $height , и скрипт выдает ошибку.

Как правило, когда вы хотите отлаживать изображение, удалите заголовок Content-Type. Таким образом, вы можете просмотреть любые возможные ошибки, обратившись к скрипту в браузере.

php — imagecolorallocatealpha возвращает белое изображение

У меня проблема с imagecolorallocatealpha в PHP. При установке непрозрачности до 127 я получаю белое изображение вместо прозрачного.

Илон Маск рекомендует:  Iis системный реестр

Я тоже пробовал этот, но я получаю тот же результат

Есть идеи? Может ли это быть связано с конфигурацией сервера?

    3 2
  • 24 апр 2020 2020-04-24 03:55:23
  • skwi

2 ответа

Если весь код, который вы используете для файла изображения, вы не определили никаких значений для переменных $width и $height , и скрипт выдает ошибку.

Как правило, когда вы хотите отлаживать изображение, удалите заголовок Content-Type. Таким образом, вы можете просмотреть любые возможные ошибки, обратившись к скрипту в браузере.

  • 24 апр 2020 2020-04-24 03:55:24
  • Victor Stanciu

Заменить первую строку

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


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

Чтобы изменить цвет прозрачности с белого, используйте:

W3cubDocs

(PHP 4, PHP 5, PHP 7)

imagecolorclosest — Get the index of the closest color to the specified color

Description

Returns the index of the color in the palette of the image which is «closest» to the specified RGB value.

The «distance» between the desired color and each color in the palette is calculated as if the RGB values represented points in three-dimensional space.

If you created the image from a file, only colors used in the image are resolved. Colors present only in the palette are not resolved.

Parameters

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

Value of red component.

Value of green component.

Value of blue component.

The colors parameters are integers between 0 and 255 or hexadecimals between 0x00 and 0xFF.

Return Values

Returns the index of the closest color, in the palette of the image, to the specified one

Examples

Example #1 Search for a set of colors in an image

The above example will output something similar to:

php imagecolorclosest RGB to closest predefined color

php find closest color (4)

Edit:

With the answer given I made this function

My goal is this. I grab a picture and loop through each pixel and grab its x,y, and rgb.

Instead of just grabbing the rgb, I have a predefined array and I’m looking for the closest match from the color I grabbed to the predefined array. The goal here is to only use colors from the predefined array. Here is my array of colors.

and here is my existing code that loops through it all.

rgb2hex is a User Defined Function, but what I want to accomplish is to change that function with the function to grab the closest color.

$colorsofimage contains an array of each pixels info with hex:x:y what i want it to be is rgb2hex(NEWFUNCTION($r,$g,$b)); So that the new hex is the 1 out of the predefined array.

I hope you understood, because I have no clue how to do it because I don’t know the algorithm of a color.

Since this question is displayed in the top ten of goolge search results, here is a more complex function I wrote some years ago, which produced better results than the existing PHP functions.

You have to calculate the distance to each color, and pick the smallest.

There are a few ways to do this. A simple method would be to calculate the distance would be:

Илон Маск рекомендует:  Excel vba подсказки к toolbar

A better method might be to incorporate the weighted values to calculate a distance, for instance the values used when converting RGB->YUV:

in that case you would use

Of course, since you don’t need the exact distances, just a comparison, you can and probably should just skip the square root, making the last calculation:

The RGB colour-space is simply a cube. In 24-bit colour each side has a length of 256, allowing values from 0 to 255. In order to find the closest colour in within this cube, you need a distance function. The simplest and most intuitive is the Euclidean distance: if you have colour (r1, g1, b1) and another colour (r2, g2, b2) the distance would be sqrt((r2-r1)^2 + (g2-g1)^2 + (b2-b1)^2) .

The challenge for you is then to find the best match across all the values in your predefined array. I suggest that you start simply by iterating over all your values and check the distance for each in turn. Note that for this purpose you do not need to perform the sqrt , simply comparing on the sum of the squares would be sufficient, and would have the benefit of being all based in integer maths. My PHP isn’t great, but roughly you would do:

There are more complicated distance functions (for instance, taking better account of psychovisual interpretation of colour differences (look into Delta E) but I suspect this is more than you need.

Calculate the distance from the input color to all possible candidates of your palette, and then pick the one with the smallest distance as the one to replace it with.

Distance can be defined in any way you like; Euclidean distance seems workable for RGB cubes, cylinders or HSL/HSV cones.

imagecolorallocatealpha возвращает белое изображение

У меня проблема с imagecolorallocatealpha в PHP. При установке непрозрачности до 127 я получаю белое изображение вместо прозрачного.

Я тоже пробовал этот, но я получаю тот же результат

Есть идеи? Может ли это быть связано с конфигурацией сервера?

Заменить первую строку

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

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

Чтобы изменить цвет прозрачности с белого, используйте:

Если весь код, который вы используете для файла изображения, вы не определили никаких значений для переменных $width и $height , и скрипт выдает ошибку.

Как правило, когда вы хотите отлаживать изображение, удалите заголовок Content-Type. Таким образом, вы можете просмотреть любые возможные ошибки, обратившись к скрипту в браузере.

Что такое код imagecolorclosest

(PHP 3, PHP 4 , PHP 5)

imagecolorclosest — Get the index of the closest color to the specified color

Description int imagecolorclosest ( resource image, int red, int green, int blue )

Returns the index of the color in the palette of the image which is «closest» to the specified RGB value.

The «distance» between the desired color and each color in the palette is calculated as if the RGB values represented points in three-dimensional space.

If you created the image from a file, only colors used in the image are resolved. Colors present only in the pallete are not resolved.

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