Author Topic: Одинаковые неодинаковые цвета  (Read 4583 times)

0 Members and 2 Guests are viewing this topic.

mjkl

  • Освоившийся
  • **
  • Posts: 38
    • View Profile
Одинаковые неодинаковые цвета
« on: September 03, 2013, 02:11:08 PM »
Разные видеокарты производят на монитор свою комбинацию смеси RGB. В результате чего два одинаковых цвета для человека, на мониторах разных комьютеров, оказываются не совсем одинаковыми для програмного обработчика. Поэтому % работы любого скрипта с привязкой по конкретному цвету, даже с цветокорекцией, на разных компьютерах очень низкий.
Вариант решения. Если пиксель, коодинаты которого на разныхкомпьютерах одинаковые, на глаз - зеленого/салатового цвета. При разбивке на RGB преобладающее значение будет иметь зеленый цвет, от чего пляшем дальше:
Code: (clickermann) [Select]
GETSCREEN
$p=pxl(x,y)
$cR=colorR($p)
$cG=colorG($p)
$cB=colorB($p)
IF(($cG>$cR)&($cG>$cB))
// Код
END_IF
Интересно знать - может есть проще процедура?
« Last Edit: September 03, 2013, 02:13:32 PM by mjkl »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Одинаковые неодинаковые цвета
« Reply #1 on: September 03, 2013, 02:56:54 PM »
Разные видеокарты производят на монитор свою комбинацию смеси RGB. В результате чего два одинаковых цвета для человека, на мониторах разных комьютеров, оказываются не совсем одинаковыми для програмного обработчика. Поэтому % работы любого скрипта с привязкой по конкретному цвету, даже с цветокорекцией, на разных компьютерах очень низкий.
Вариант решения. Если пиксель, коодинаты которого на разныхкомпьютерах одинаковые, на глаз - зеленого/салатового цвета. При разбивке на RGB преобладающее значение будет иметь зеленый цвет, от чего пляшем дальше:
Code: (clickermann) [Select]
GETSCREEN
$p=pxl(x,y)
$cR=colorR($p)
$cG=colorG($p)
$cB=colorB($p)
IF(($cG>$cR)&($cG>$cB))
// Код
END_IF
Интересно знать - может есть проще процедура?

Ты зря тратишь время. Нас абсолютно не волнует, что видеокарта подаёт на монитор. Кликер и все другие программы тоже не волнует.
Поэтому вывод - всё находится прекрасно. Должна совпадать только битность цветопередачи. Но сейчас думаю таких нет, кто сидит на 16 битах или даже 8.


mjkl

  • Освоившийся
  • **
  • Posts: 38
    • View Profile
Re: Одинаковые неодинаковые цвета
« Reply #2 on: September 03, 2013, 03:21:01 PM »
Но сейчас думаю таких нет, кто сидит на 16 битах
Твоя ошибка.
Кроме того возможны случаи, когда пиксель может менять оттенок, и в этом случае скрип скажет йок.
И вообще зачем отвечать, если нет ответа по сути?

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Одинаковые неодинаковые цвета
« Reply #3 on: September 03, 2013, 04:42:24 PM »
Как это нет ответа. Твоё выражение "Разные видеокарты производят на монитор свою комбинацию смеси RGB" конечно верно... формально, но не имеет отношения к обсуждаемому вопросу, АБСОЛЮТНО.
То как видеокарта выводит цвет R50 G45 B180 на монитор используя профиль монитора и т.д и. т.п. нас не волнуют.
Любая программа, на любом компьютере где включена цветопередача 32 бита покажет что цвет R50 G45 B180. в независимости от того как видят глаза. Будь человек хоть дальтоником.

Если ты столкнулся с различным распознаванием цвета, здесь несколько вариантов:
1. Пиксел выводится с полупрозрачностью и на результирующий цвет влияет цвет фона.
2. При использовании антиалиазинга - всё тоже самое для границ объектов к которым применяется сглаживание.
3. Программа (например флэш) при каждом проходе, может по разному рендерить изображение пересчитывая изначальную элемент/картинку в другой размер и/или при выводе в другое место.
Может ещё есть, но со всеми описанными встречался и в разной степени успеха боролся.


mjkl

  • Освоившийся
  • **
  • Posts: 38
    • View Profile
Re: Одинаковые неодинаковые цвета
« Reply #4 on: September 03, 2013, 04:58:38 PM »
Вопрос заключается в последней строчке после кода, первого сообщения.
Другими словами:
проанализировать какой цвет RGB спектра преобладает
если преобладает цвет который задан в условии ранее
продолжить скрипт
если нет другое действие

« Last Edit: September 03, 2013, 05:04:57 PM by mjkl »

stivus

  • Освоившийся
  • **
  • Posts: 35
    • View Profile
Re: Одинаковые неодинаковые цвета
« Reply #5 on: September 05, 2013, 08:55:16 AM »
Тогда,наверное,надо не пиксель-ибо пиксель он и в африке пиксель,и Vint тут прав,-а картинку,с % подобия...