Будь-який інструмент, щоб сказати мені точне значення кольору в точці на 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варіанті я спершу визначив оброблювану площу, яка в цьому випадку становить 1х1 пікселів. Тоді я визначив розташування врожаю щодо північно-західного кута, тобто верхнього лівого.

Нарешті, я перетворив вихідний текст у текстовий 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 (знайдений в / Програми / Утиліти) повідомляє вам значення кольору (RGB) пікселя, на якому курсор нависає.


2
Я не прошу вибору кольорів екрану, але вибір даних PNG кольору. Загальний засіб вибору кольорів екрана не може ідеально підібрати точне значення кольору на зображенні PNG.
an0

Ви попросили значення RGB для пікселя, на якому курсор наводить курсор. Якщо ви відкриєте файл png і наведіть на нього курсор миші на піксель, ви отримаєте значення RGB цього кольору, ні?
видаліть мене,

альфа-канал відсутній.
an0

Вибачте, мені не могло бути більше допомоги.
видаліть мене,

Альфа-канал не є частиною RGB.
Даниїл

2

Я знайшов реальний шлях на переповнення стека по римському Нурік :

На панелі інформації Photoshop ви можете вибрати "Непрозорість" як режим зчитування, хоча він відображатиметься як відсоток, а не як реальне значення альфа.

Щоб увімкнути це, просто відкрийте вікно "Інформація", виберіть "Параметри панелі", а потім встановіть для режиму зчитування другого кольору значення "Непрозорість".

… Але для цього вам потрібен Photoshop. Я все ще вважаю, що повинні бути більш прості способи. Сподіваюся, хтось інший може допомогти.


1

Якщо у вас немає Photoshop і ви не хочете витрачати гроші на те, щоб отримати цю функцію, додаток FOSS (Free / Open Source) GIMP зробить роботу за вас.

www.gimp.org


-2

colorhunter.com - це те, що мені вдалося знайти, гуглюючи це те саме питання. Щасти


Вітаю, Дженіфер, просто щоб повідомити, що ця відповідь автоматично позначена як низька якість на тривалість та вміст (в основному коротке посилання). Якщо ви можете розгорнути свою відповідь, щоб бути більше посиланням на інший сайт, можливо скопіюйте у відповідь деякі функції додатків тощо, це буде читати набагато краще.
stuff
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.