Любой инструмент, чтобы сказать мне точное значение цвета в точке на PNG-изображении?


10

Я хочу получить точное значение цвета (RGB, HSB или любое другое значение цветового пространства, которое можно преобразовать в значение RGB) в любой заданной точке (предпочтительно в точке под курсором) на изображении png. Любой инструмент для этого? Спасибо.

PS: Если быть более точным, я не спрашиваю о палитре цветов экрана, а о палитре данных цвета изображения PNG. Обычный экран выбора цвета не может точно подобрать точное значение цвета в изображении PNG, например, отсутствует альфа-канал.


Или, как вы упомянули PNG, вам также нужно значение альфа-канала?
Яри ​​Кейнянен

@koiyu Конечно, альфа-канал тоже нужен.
AN0

Ответы:


18

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

$ convert image.png -crop '1x1 + 100 + 200 ' txt: -

Выходы, например

# Перечисление пикселей ImageMagick: 1,1255, RGB
0,0: (236 236 236) #ECECEC RGB (236 236 236)

Или, если файл PNG-24, он выводит, например,

# Перечисление пикселей ImageMagick: 1,1255, rgba
0,0: (0, 0, 0,243) # 000000F3 rgba (0,0,0,0,952941)

В -cropопции я сначала определил область обрезки, которая в данном случае составляет 1x1 пикселей. Затем я определил местоположение урожая относительно северо-западного угла, то есть в верхнем левом углу.

Наконец я преобразовал вывод в текстовый с txt:-. Затем ImageMagick выводит все цвета изображения в STDOUT (в этом случае есть только один цвет, поскольку размер изображения составляет 1 пиксель), что означает, что вы можете обработать его с помощью обычных методов оболочки. Так, например, передавая вывод, tail -n 1вы получите только строку информации о пикселях.

Если вам нужен цвет пикселя в любом другом цветовом пространстве, вы должны обратить внимание на точно названную -colorspaceопцию .

†) На самом деле местоположение относится к указанному -gravityзначению , но по умолчанию это "NorthWest".


Спасибо, но можно ли получить значение альфа-канала этим методом?
AN0

@ an0 Да. Если вы используете упомянутую команду с файлом PNG-24, вы получите вывод, например,0,0: ( 0, 0, 0,243) #000000F3 rgba(0,0,0,0.952941)
Jari Keinänen

Для некоторых цветов я получаю названия цветов в текстовой форме (например, «черный» или «чирок») вместо их значений RGB, используя этот метод. Этот пост на форумах imagemagick имеет другое решение, которое, кажется, работает, но намного сложнее. imagemagick.org/discourse-server/viewtopic.php?t=13694#p46473
Wyatt8740

6

Метр DigitalColor (находится в / Applications / Utilities) сообщает вам значение цвета (RGB) пикселя, на который наведен курсор.


2
Я не запрашиваю палитру цветов экрана, но пингер данных цвета изображения PNG. Общий экран выбора цвета не может точно выбрать точное значение цвета в изображении PNG.
AN0

Вы запросили значение RGB для пикселя, над которым находится курсор. Если вы откроете файл png и наведете курсор на пиксель, вы получите значение RGB этого цвета, нет?
пожалуйста, удалите меня

Альфа-канал отсутствует.
AN0

Извините, я не мог помочь.
пожалуйста, удалите меня

Альфа-канал не является частью RGB.
Даниил

2

Я нашел реальный путь на переполнение стека по римскому Нурик :

На панели «Информация» в Photoshop вы можете выбрать «Непрозрачность» в качестве режима считывания, хотя он будет отображаться в процентах, а не в виде реального альфа-значения.

Чтобы включить его, просто откройте окно «Информация», выберите «Параметры панели», а затем установите режим считывания второго цвета на «Непрозрачность».

… Но для этого нужен фотошоп. Я все еще верю, что должны быть более простые способы. Надеюсь, кто-то еще может помочь.


1

Если у вас нет Photoshop и вы не хотите тратить деньги только на то, чтобы получить эту функцию, приложение GIMP (бесплатное / открытое программное обеспечение) FOSS сделает эту работу за вас.

www.gimp.org


-2

colorhunter.com - это то, что мне удалось найти при поиске этого же вопроса. удачи


Здравствуйте, Дженифер, просто чтобы вы знали, что этот ответ был автоматически помечен как низкокачественный в зависимости от длины и содержания (коротко со ссылкой в ​​основном). Если вы можете расширить свой ответ, чтобы он стал чем-то большим, чем просто ссылка на другой сайт, возможно, скопируйте в него некоторые функции приложений и т. Д., Он будет читаться намного лучше.
Stuff
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.