Jump to content

    
Sign in to follow this  
Serhiy_UA

Объекты на цветной подложке. Обеспечение контрастности.

Recommended Posts

Дорабатываю программу с графикой в Qt3 (электронные карты).

Есть исходный цветной сплошной полигон, на который нужно нанести полигон другого цвета меньшего размера (мелкая сеточка) и с контурной линией.

Цветовая палитра обычная - RGB на 3 байта, а цвет исходного полигона програмно считывается и может быть разным.   

Какой выбрать алгоритм, чтобы наносимый полигон был контрастным по отношению к исходному, а контурная линия была достаточно контрастной к обеим полигонам. 

Конечно, можно сделать и вручную, но много сочетаний получается, лучше если бы это делала программа.    

 

  

Share this post


Link to post
Share on other sites

Ваша мысль понятна. Инверсия - это каждый бит RGB-байтов поменять на противоположный, в общем не плохо и мало затратно. Но если 01111111 поменять на 10000000, то здесь останемся в том же месте.

Был вариант поменять местами цветовые RGB-байты, что могло пройти, пока коды в байтах не одинаковые, поэтому данный вариант отпадает.

Второй вариант найти среднее значений этих байт, а потом среднеквадратическое отклонение. По значению этих величин к одному из байтов что-то прибавить, а от другого отнять, но пока не определился что именно.    

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this