Cum se pot face culorile standard în Delphi mai ușoare sau mai întunecate

Delphi. Grafică și jocuri. Culori și paletă

Cum se pot face culorile standard în Delphi mai ușoare sau mai întunecate

În acest articol, aș dori să arăt principiul obținerii de la o culoare normală a unei culori mai întunecate sau mai deschise. De asemenea, luați în considerare modul în care acest principiu este implementat în codul programului.







Deci, un pic de teorie

Fiecare din cele trei culori primare (Roșu, Verde, Albastru) poate avea o valoare de la 0 la 255, respectiv combinându-le putem obține 16.777.216 culori posibile. Din punct de vedere vizual, acesta poate fi reprezentat ca trei axe ale cubului, în care direcțiile x, y și z sunt responsabile pentru culorile roșu, verde și albastru. În combinație, aceste indicații dau un punct în cub, reprezentând o culoare de 16 milioane. Punctul cubului în care valoarea este 0 (0,0,0) corespunde culorii negre, valoarea (255,255,255) este albă, (255,0,0) este roșu pur, etc.







Dacă trasezi vizual o linie între orice culoare (r, g, b) și culoare albă (255,255,255), atunci se pare că această linie va conține toate valorile culorii date (r, g, b). Dacă ne mutăm de-a lungul liniei în direcția culorii albe, atunci luminozitatea va crește până când vom obține o culoare pur albă.

Același lucru se poate face pentru a reduce luminozitatea culorii. Este suficient să desenați o linie din culoarea (r, g, b) până la negru (0,0,0). Adică atunci când ne mutăm de-a lungul liniei la negru, vom reduce luminozitatea până când vom obține o culoare neagră.

Funcția "Întunecat" readuce o nouă valoare a culorii, care va fi mai închisă cu un procentaj. Firește, la 100% avem o culoare neagră. Funcția "Brichetă" returnează o culoare mai ușoară cu un procentaj din original. 100% alb.

Funcțiile mai întunecate și mai ușoare necesită doi parametri și sunt folosiți aproximativ în felul următor:

Rezultatul este un panou de culoare cu 20% mai închis decât culoarea albastră obișnuită.

Acum, să vedem cum funcționează funcțiile noastre:







Articole similare

Trimiteți-le prietenilor: