public class Farba extends Color implements Comparable<Color>
Trieda je určená na prácu s farbami v rámci programovacieho rámca GRobot. Všetky farby, s ktorými robot pracuje sú zväčša určované tromi alebo štyrmi celočíselnými údajmi v rozsahu od 0 do 255 – ide o farebné zložky (červenej, zelenej a modrej) na namiešanie výslednej farby a zložku (ne)priehľadnosti (0 znamená neviditeľná farba, 255 znamená úplne nepriehľadná farba). Táto trieda umožňuje definovať farby aj pomocou neceločíselných rozsahov – od 0.0 po 1.0, ktoré sú zase používané napríklad v metódach pracujúcich s (ne)priehľadnosťou plátna.
Táto trieda obaľuje triedu Javy Color
. Mierne
rozširuje a upravuje jej správanie, najmä v súvislosti so získavaním
farieb so svetlejším alebo tmavším odtieňom, kde sa berie do úvahy aj úroveň
priehľadnosti, ktorú zachováva (na rozdiel od originálnej triedy).
Ďalšie vybrané metódy sú k dispozícii s názvami preloženými do
slovenského jazyka. Neceločíselné rozsahy (0.0
–
1.0
) typu float
umožňuje zadávať ako údajový
typ double
, pretože tento údajový typ je široko
používaný grafickým robotom a nevyžaduje špeciálnu syntax pri
vkladaní hodnôt. (Konkrétne tým trieda programátora oslobodzuje od
nevyhnutnosti používania operátora pretypovania: (
float
)
.)
Rovnako ako originálna trieda Color
i trieda
Farba
pracuje buď v predvolenom sRGB farebnom priestore,
alebo vo farebnom priestore definovanom pomocou triedy ColorSpace
. Každá farba má vlastnú úroveň
(ne)priehľadnosti, ktorá je predvolene nastavená na «nepriehľadnú»
alebo môže byť určená v rámci povoleného rozsahu (pozri konštruktory
nižšie). V súlade s konvenciou triedy Color
znamená
najvyššia hodnota atribútu „priehľadnosti“ (alebo skôr
nepriehľadnosti – Color.getAlpha()
) úplne nepriehľadný
bod a naopak.
Množstvo predvolených farebných inštancií je definovaných v rozhraní
Farebnosť
. Nasledujúci príklad ukazuje ich využitie
pri kreslení kruhov vyplnených náhodnou farbou:
// Zoznam farieb
final
Farba
[] farby = {svetločervená
,červená
,tmavočervená
,svetlozelená
,zelená
,tmavozelená
,svetlomodrá
,modrá
,tmavomodrá
,svetlotyrkysová
,tyrkysová
,tmavotyrkysová
,svetlopurpurová
,purpurová
,tmavopurpurová
,svetložltá
,žltá
,tmavožltá
,čierna
,tmavošedá
,šedá
,svetlošedá
,biela
,svetlohnedá
,hnedá
,tmavohnedá
,svetlooranžová
,oranžová
,tmavooranžová
,svetloružová
,ružová
,tmavoružová
, };skry
();Svet
.nekresli
();for
(int
i =0
; i <1000
; ++i) {// Náhodná poloha kruhu
double
skočNaX =Svet
.náhodnéReálneČíslo
(Svet
.najmenšieX
(),Svet
.najväčšieX
());double
skočNaY =Svet
.náhodnéReálneČíslo
(Svet
.najmenšieY
(),Svet
.najväčšieY
());// Náhodná farba a veľkosť kruhu
int
ktoráFarba = (int
)Svet
.náhodnéCeléČíslo
(farby.length -1
);double
akáVeľkosť =Svet
.náhodnéCeléČíslo
(25
,50
);// Nakreslenie farebného kruhu
skočNa
(skočNaX, skočNaY);farba
(farby[ktoráFarba]);kruh
(akáVeľkosť);// Prekreslenie každú 10-tu iteráciu
if
(i %10
==0
) {Svet
.prekresli
();Svet
.čakaj
(0.050
); } }Svet
.kresli
();
Výsledok:
Výsledok kreslenia príkladu.
V príklade je najprv definovaný zoznam farieb v poli, z ktorého sa
neskôr vyberá náhodná farba. Skryje sa
aktuálny grafický robot a vypne sa
automatické prekresľovanie (aby bolo vykonanie príkladu rýchlejšie).
Potom sa tisíc ráz opakuje sekvencia príkazov na kreslenie kruhu
(for
(i =
… 1000
…). Kruh sa má nakresliť na náhodnej pozícii, má byť
vyplnený náhodnou farbou (v rámci spomenutého zoznamu farieb) a má
mať náhodnú veľkosť (s polomerom medzi 25 až 50 bodov) – generovanie
náhodných súradníc, veľkosti a výber náhodnej farby sú z dôvodu
prehľadnosti oddelené od časti samotného kreslenia kruhu. V cykle sa
nachádza blok príkazov na prekreslenie
s podmienkou určujúcou, že (exaktne povedané) prekreslenie sa má
vykonať vždy, keď je riadiaca premenná cyklu i
deliteľná
desiatimi bezo zvyšku (i %
10
) – to znamená, že sa
vykoná každý desiaty raz. Pri prekreslení je program zároveň
pozdržaný o 50 milisekúnd – to by
znamenalo, že ak by prekreslenie nezaberalo určitý čas, tak by sa celý
program stihol vykonať za asi 5 sekúnd; v skutočnosti je to viac,
pretože prekresľovanie trvá postrehnuteľne dlhší čas. Nakoniec je
opätovne zapnuté automatické prekresľovanie.
S novšími príkazmi triedy GRobot
sa dá predchádzajúci
príklad skrátiť takto:
skry
();Svet
.nekresli
();for
(int
i =0
; i <1000
; ++i) {// Voľba náhodnej veľkosti kruhu
double
polomer =Svet
.náhodnéCeléČíslo
(25
,50
);// Nakreslenie farebného kruhu
náhodnáPoloha
();náhodnáFarba
();kruh
(polomer);// Prekreslenie každú 10-tu iteráciu
if
(i %10
==0
) {Svet
.prekresli
();Svet
.čakaj
(0.050
); } }Svet
.kresli
();
Farebnosť
,
Color
,
ColorSpace
,
Serializovateľnosťblack, BLACK, blue, BLUE, cyan, CYAN, DARK_GRAY, darkGray, gray, GRAY, green, GREEN, LIGHT_GRAY, lightGray, magenta, MAGENTA, orange, ORANGE, pink, PINK, red, RED, white, WHITE, yellow, YELLOW
BITMASK, OPAQUE, TRANSLUCENT
Konštruktor a opis |
---|
Farba(Color c)
Vytvorí inštanciu farby z jestvujúcej inštancie triedy
Color . |
Farba(ColorSpace cspace,
float[] components,
float alpha)
Vytvorí inštanciu farby v určenom farebnom priestore (
ColorSpace ). |
Farba(double r,
double g,
double b)
Vytvorí nepriehľadnú farbu zo zložiek červená (r), zelená (g)
a modrá (b) v rozsahu (0.0 – 1.0).
|
Farba(double r,
double g,
double b,
double a)
Vytvorí farbu zo zložiek červená (r), zelená (g), modrá (b)
a priehľadnosť (a) v rozsahu (0.0 – 1.0).
|
Farba(Farebnosť o)
Vytvorí novú inštanciu farby podľa farby zadaného objektu.
|
Farba(int rgb)
Vytvorí nepriehľadnú farbu vo farebnom priestore sRGB, pričom
jednotlivé farebné zložky tvoria skupiny bitov: červená bity 16 –
23, zelená 8 – 15 a modrá 0 – 7.
|
Farba(int rgba,
boolean hasalpha)
Vytvorí farbu vo farebnom priestore sRGB, pričom jednotlivé
farebné zložky a priehľadnosť tvoria skupiny bitov: červená bity
16 – 23, zelená 8 – 15, modrá 0 – 7 a priehľadnosť 24 – 31.
|
Farba(int r,
int g,
int b)
Vytvorí nepriehľadnú farbu vo farebnom priestore sRGB zo zložiek
červená (r), zelená (g) a modrá (b) v rozsahu (0 – 255).
|
Farba(int r,
int g,
int b,
int a)
Vytvorí farbu vo farebnom priestore sRGB zo zložiek červená (r),
zelená (g), modrá (b) a priehľadnosť (a) v rozsahu (0 – 255).
|
Modifikátor a typ | Metóda a opis |
---|---|
Farba |
bledsia()
Alias pre
svetlejšia . |
Farba |
bledsia(double faktor)
Alias pre
svetlejšia . |
Farba |
bledšia()
Alias pre
svetlejšia . |
Farba |
bledšia(double faktor)
Alias pre
svetlejšia . |
int |
cervena()
Alias pre
červená . |
int |
compareTo(Color ináFarba)
Táto metóda je súčasťou implementácie rozhrania
Comparable . |
int |
červená()
|
static Farba |
dialogVolbaFarby()
Alias pre
zvoľFarbu . |
static Farba |
dialógVoľbaFarby()
Alias pre
zvoľFarbu . |
static Farba |
dialogVolbaFarby(Color počiatočnáFarba)
Alias pre
zvoľFarbu . |
static Farba |
dialógVoľbaFarby(Color počiatočnáFarba)
Alias pre
zvoľFarbu . |
static Farba |
dialogVolbaFarby(String titulok)
Alias pre
zvoľFarbu . |
static Farba |
dialógVoľbaFarby(String titulok)
Alias pre
zvoľFarbu . |
static Farba |
dialogVolbaFarby(String titulok,
Color počiatočnáFarba)
Alias pre
zvoľFarbu . |
static Farba |
dialógVoľbaFarby(String titulok,
Color počiatočnáFarba)
Alias pre
zvoľFarbu . |
static Farba |
dialogVyberFarby()
Alias pre
vyberFarbu . |
static Farba |
dialógVýberFarby()
Alias pre
vyberFarbu . |
static Farba |
dialogVyberFarby(Color počiatočnáFarba)
Alias pre
vyberFarbu . |
static Farba |
dialógVýberFarby(Color počiatočnáFarba)
Alias pre
vyberFarbu . |
static Farba |
dialogVyberFarby(String titulok)
Alias pre
vyberFarbu . |
static Farba |
dialógVýberFarby(String titulok)
Alias pre
vyberFarbu . |
static Farba |
dialogVyberFarby(String titulok,
Color počiatočnáFarba)
Alias pre
vyberFarbu . |
static Farba |
dialógVýberFarby(String titulok,
Color počiatočnáFarba)
Alias pre
vyberFarbu . |
static String |
farbaNaRetazec(Color farba)
Alias pre
farbaNaReťazec . |
static String |
farbaNaReťazec(Color farba)
Prevedie zadanú inštanciu farby do textovej podoby.
|
static String |
farbaNaRetazec(Farebnosť farba)
Alias pre
farbaNaReťazec . |
static String |
farbaNaReťazec(Farebnosť farba)
Prevedie zadanú implementáciu farebnosti do textovej podoby.
|
Farba |
gamaKorekcia(double γ)
Vyrobí novú farbu upravenú s použitím algoritmu gama (γ) korekcie.
|
static int |
HSBtoRGB(double h,
double s,
double b)
Vykoná konverziu z farebnej reprezentácie HSB do RGB.
|
static int |
HSVtoRGB(double h,
double s,
double v)
Vykoná konverziu z farebnej reprezentácie HSV do RGB.
|
Farba |
jasKontrast(double jas,
double kontrast)
Vyrobí novú farbu s upravenými parametrami jasu a kontrastu.
|
Farba |
menejPriehladna()
Alias pre
nepriehľadnejšia . |
Farba |
menejPriehľadná()
Alias pre
nepriehľadnejšia . |
Farba |
menejPriehladna(double faktor)
Alias pre
nepriehľadnejšia . |
Farba |
menejPriehľadná(double faktor)
Alias pre
nepriehľadnejšia . |
int |
modra()
Alias pre
modrá . |
int |
modrá()
|
Farba |
nepriehladnejsia()
Alias pre
nepriehľadnejšia . |
Farba |
nepriehladnejsia(double faktor)
Alias pre
nepriehľadnejšia . |
Farba |
nepriehľadnejšia()
Vytvorí menej priehľadnú verziu tejto farby.
|
Farba |
nepriehľadnejšia(double faktor)
Vytvorí menej priehľadnú verziu tejto farby na základe zadaného
faktora.
|
Farba |
priehladnejsia()
Alias pre
priehľadnejšia . |
Farba |
priehladnejsia(double faktor)
Alias pre
priehľadnejšia . |
Farba |
priehľadnejšia()
Vytvorí priehľadnejšiu verziu tejto farby.
|
Farba |
priehľadnejšia(double faktor)
Vytvorí priehľadnejšiu verziu tejto farby na základe zadaného
faktora.
|
int |
priehladnost()
Alias pre
priehľadnosť . |
int |
priehľadnosť()
|
static Farba |
retazecNaFarbu(String text)
Alias pre
reťazecNaFarbu . |
static Farba |
reťazecNaFarbu(String text)
Prevedie zadaný reťazec reprezentujúci farbu na inštanciu farby.
|
static double[] |
RGBtoHSB(int rgb)
Vykoná konverziu z farebnej reprezentácie RGB do HSB.
|
static double[] |
RGBtoHSB(int rgb,
double[] hsb)
Vykoná konverziu z farebnej reprezentácie RGB do HSB.
|
static double[] |
RGBtoHSV(int rgb)
Vykoná konverziu z farebnej reprezentácie RGB do HSV.
|
static double[] |
RGBtoHSV(int rgb,
double[] hsv)
Vykoná konverziu z farebnej reprezentácie RGB do HSV.
|
static boolean |
spravnyFormat(String text)
Alias pre
správnyFormát . |
static boolean |
správnyFormát(String text)
Posúdi, či je zadaný reťazec v rozpoznateľnom formáte
reprezentujúcom farbu.
|
Farba |
svetlejsia()
Alias pre
svetlejšia . |
Farba |
svetlejsia(double faktor)
Alias pre
svetlejšia . |
Farba |
svetlejšia()
Vytvorí novú bledšiu verziu tejto farby.
|
Farba |
svetlejšia(double faktor)
Vytvorí novú bledšiu verziu tejto farby.
|
Farba |
tmavsia()
Alias pre
tmavšia . |
Farba |
tmavsia(double faktor)
Alias pre
tmavšia . |
Farba |
tmavšia()
Vytvorí novú tmavšiu verziu tejto farby.
|
Farba |
tmavšia(double faktor)
Vytvorí novú tmavšiu verziu tejto farby.
|
String |
toString()
Reťazcová reprezentácia tejto farby na účely ladenia obsahujúca
informáciu o farebných zložkách a alfe.
|
static Farba |
vyberFarbu()
Otvorí dialóg na výber farby.
|
static Farba |
vyberFarbu(Color počiatočnáFarba)
Otvorí dialóg na výber farby.
|
static Farba |
vyberFarbu(String titulok)
Otvorí dialóg na výber farby.
|
static Farba |
vyberFarbu(String titulok,
Color počiatočnáFarba)
Otvorí dialóg na výber farby.
|
int |
zelena()
Alias pre
zelená . |
int |
zelená()
|
static Farba |
zvolFarbu()
Alias pre
zvoľFarbu . |
static Farba |
zvoľFarbu()
Otvorí dialóg na výber farby.
|
static Farba |
zvolFarbu(Color počiatočnáFarba)
Alias pre
zvoľFarbu . |
static Farba |
zvoľFarbu(Color počiatočnáFarba)
Otvorí dialóg na výber farby.
|
static Farba |
zvolFarbu(String titulok)
Alias pre
zvoľFarbu . |
static Farba |
zvoľFarbu(String titulok)
Otvorí dialóg na výber farby.
|
static Farba |
zvolFarbu(String titulok,
Color počiatočnáFarba)
Alias pre
zvoľFarbu . |
static Farba |
zvoľFarbu(String titulok,
Color počiatočnáFarba)
Otvorí dialóg na výber farby.
|
brighter, createContext, darker, decode, equals, getAlpha, getBlue, getColor, getColor, getColor, getColorComponents, getColorComponents, getColorSpace, getComponents, getComponents, getGreen, getHSBColor, getRed, getRGB, getRGBColorComponents, getRGBComponents, getTransparency, hashCode, HSBtoRGB, RGBtoHSB
public Farba(Farebnosť o)
Vytvorí novú inštanciu farby podľa farby zadaného objektu.
o
– objekt, ktorého farba určí novú farbupublic Farba(ColorSpace cspace, float[] components, float alpha)
Vytvorí inštanciu farby v určenom farebnom priestore (ColorSpace
). Pre rôzne farebné priestory
platia rôzne podmienky. Napríklad: RGB vyžaduje tri komponenty, ale
CMYK štyri.
Tento konštruktor bol vytvorený na zabezpečenie úplnej
kompatibility s triedou Color
.
cspace
– farebný priestor použitý na interpretáciu farebných
zložiekcomponents
– potrebný počet farebných zložiek požadovaný
zadaným farebným priestoromalpha
– hodnota priehľadnosti (0.0 – neviditeľná farba; 1.0 –
nepriehľadná farba)IllegalArgumentException
– ak je hociktorá hodnota
farebnej zložky alebo priehľadnosti mimo povoleného rozsahu
0.0 – 1.0ColorSpace
public Farba(double r, double g, double b)
Vytvorí nepriehľadnú farbu zo zložiek červená (r), zelená (g) a modrá (b) v rozsahu (0.0 – 1.0). Priehľadnosť je predvolene nastavená na hodnotu 1.0. Skutočná farba použitá pri kreslení závisí od výstupného zariadenia, pričom je zvolená taká farba, aby bol dosiahnutý čo najlepší výsledok.
r
– červená zložkag
– zelená zložkab
– modrá zložkaIllegalArgumentException
– ak je hodnota r
,
g
alebo b
mimo povoleného rozsahu 0.0 – 1.0public Farba(double r, double g, double b, double a)
Vytvorí farbu zo zložiek červená (r), zelená (g), modrá (b) a priehľadnosť (a) v rozsahu (0.0 – 1.0). Skutočná farba použitá pri kreslení závisí od výstupného zariadenia, pričom je zvolená taká farba, aby bol dosiahnutý čo najlepší výsledok.
r
– červená zložkag
– zelená zložkab
– modrá zložkaa
– priehľadnosť (0.0 – neviditeľná farba;
1.0 – nepriehľadná farba)IllegalArgumentException
– ak je hodnota r
,
g
, b
alebo a
mimo povoleného rozsahu
0.0 – 1.0public Farba(int rgb)
Vytvorí nepriehľadnú farbu vo farebnom priestore sRGB, pričom jednotlivé farebné zložky tvoria skupiny bitov: červená bity 16 – 23, zelená 8 – 15 a modrá 0 – 7. Priehľadnosť je predvolene nastavená na hodnotu 255. Skutočná farba použitá pri kreslení závisí od výstupného zariadenia, pričom je zvolená taká farba, aby bol dosiahnutý čo najlepší výsledok.
rgb
– kombinácia zložiek RGBpublic Farba(int rgba, boolean hasalpha)
Vytvorí farbu vo farebnom priestore sRGB, pričom jednotlivé
farebné zložky a priehľadnosť tvoria skupiny bitov: červená bity
16 – 23, zelená 8 – 15, modrá 0 – 7 a priehľadnosť 24 – 31.
Skutočná farba použitá pri kreslení závisí od výstupného
zariadenia, pričom je zvolená taká farba, aby bol dosiahnutý čo
najlepší výsledok. Ak je argument „hasalpha“ (voľný preklad – „má
priehľadnosť“) rovný false
, tak je priehľadnosť
nastavená na hodnotu 255 (nepriehľadná farba).
rgba
– kombinácia zložiek ARGBhasalpha
– ak má byť množina bitov priehľadnosti (bity
číslo 24 až 31) vzatá do úvahy, tak musí byť hodnota
tohto argumentu rovná true
, inak bude použitá
hodnota priehľadnosti 255 bez ohľadu na hodnoty uvedených
bitovpublic Farba(int r, int g, int b)
Vytvorí nepriehľadnú farbu vo farebnom priestore sRGB zo zložiek červená (r), zelená (g) a modrá (b) v rozsahu (0 – 255). Priehľadnosť je predvolene nastavená na hodnotu 255 (nepriehľadná farba). Skutočná farba použitá pri kreslení závisí od výstupného zariadenia, pričom je zvolená taká farba, aby bol dosiahnutý čo najlepší výsledok.
r
– červená zložkag
– zelená zložkab
– modrá zložkaIllegalArgumentException
– ak je hodnota r
,
g
alebo b
mimo povoleného rozsahu 0 – 255public Farba(int r, int g, int b, int a)
Vytvorí farbu vo farebnom priestore sRGB zo zložiek červená (r), zelená (g), modrá (b) a priehľadnosť (a) v rozsahu (0 – 255).
r
– červená zložkag
– zelená zložkab
– modrá zložkaa
– priehľadnosť (0 – neviditeľná farba;
255 – nepriehľadná farba)IllegalArgumentException
– ak je hodnota r
,
g
, b
alebo a
mimo povoleného rozsahu
0 – 255public int červená()
public int cervena()
Alias pre červená
.
public int zelená()
public int zelena()
Alias pre zelená
.
public int modrá()
public int modra()
Alias pre modrá
.
public int priehľadnosť()
public int priehladnost()
Alias pre priehľadnosť
.
public Farba svetlejšia()
Vytvorí novú bledšiu verziu tejto farby. Metóda použije na každú farebnú zložku (RGB) vlastnú mierku (faktor) na zosvetlenie tejto farby.
Poznámka: Táto metóda funguje podobne ako
originálna metóda triedy Color
.
brighter
()
, len berie do úvahy aj
priehľadnosť pôvodnej farby a zachováva ju.
Upozornenie: Operácie
svetlejšia
a tmavšia
sú iba pomyselne
„opačné.“ Ich niekoľkonásobné striedavé použitie bude v dôsledku
zaokrúhlení viesť k získaniu úplne inej farby.
Poznámka: Táto metóda používa predvolenú
hodnotu faktora zosvetlenia 0.7
. Pozri aj svetlejšia(faktor)
.
Farba
s bledšou
verziou tejto farbysvetlejšia()
,
tmavšia()
public Farba svetlejsia()
Alias pre svetlejšia
.
public Farba bledšia()
Alias pre svetlejšia
.
public Farba bledsia()
Alias pre svetlejšia
.
public Farba tmavšia()
Vytvorí novú tmavšiu verziu tejto farby. Metóda použije na každú farebnú zložku (RGB) vlastnú mierku (faktor) na stmavenie tejto farby.
Poznámka: Táto metóda funguje podobne ako
originálna metóda triedy Color
.
darker
()
, len berie do úvahy aj
priehľadnosť pôvodnej farby a zachováva ju.
Upozornenie: Operácie
svetlejšia
a tmavšia
sú iba pomyselne
„opačné.“ Ich niekoľkonásobné striedavé použitie bude v dôsledku
zaokrúhlení viesť k získaniu úplne inej farby.
Poznámka: Táto metóda používa predvolenú
hodnotu faktora stmavenia 0.7
. Pozri aj tmavšia(faktor)
.
Farba
s tmavšou
verziou tejto farbypublic Farba priehľadnejšia()
Vytvorí priehľadnejšiu verziu tejto farby.
Poznámka: Táto metóda používa predvolenú
hodnotu faktora spriehľadnenia 0.7
. Pozri aj priehľadnejšia(faktor)
.
Farba
s priehľadnejšou
verziou tejto farbypublic Farba priehladnejsia()
Alias pre priehľadnejšia
.
public Farba nepriehľadnejšia()
Vytvorí menej priehľadnú verziu tejto farby.
Poznámka: Táto metóda používa predvolenú
hodnotu faktora znepriehľadnenia 0.7
. Pozri aj nepriehľadnejšia(faktor)
.
Farba
s menej
priehľadnou verziou tejto farbypublic Farba nepriehladnejsia()
Alias pre nepriehľadnejšia
.
public Farba menejPriehľadná()
Alias pre nepriehľadnejšia
.
public Farba menejPriehladna()
Alias pre nepriehľadnejšia
.
public Farba svetlejšia(double faktor)
Vytvorí novú bledšiu verziu tejto farby. Metóda použije na každú farebnú zložku (RGB) zadanú mierku (faktor) zosvetlenia.
Upozornenie: Operácie
svetlejšia
a tmavšia
sú iba
pomyselne „opačné.“ Ich niekoľkonásobné striedavé použitie bude
v dôsledku zaokrúhlení viesť k získaniu úplne inej farby.
faktor
– faktor zosvetlenia – hodnota v rozsahu 0.0 – 1.0,
pričom krajné hodnoty (0.0 a 1.0) nie sú povolené (môžete ich
zadať, ale získate neočakávaný výsledok a môže vzniknúť výnimka);
čím je hodnota faktora nižšia, tým je zmena svetlosti výraznejšiaFarba
s bledšou
verziou tejto farbytmavšia(double)
public Farba bledšia(double faktor)
Alias pre svetlejšia
.
public Farba bledsia(double faktor)
Alias pre svetlejšia
.
public Farba svetlejsia(double faktor)
Alias pre svetlejšia
.
public Farba tmavšia(double faktor)
Vytvorí novú tmavšiu verziu tejto farby. Metóda použije na každú farebnú zložku (RGB) zadanú mierku (faktor) stmavenia.
Upozornenie: Operácie
svetlejšia
a tmavšia
sú iba
pomyselne „opačné.“ Ich niekoľkonásobné striedavé použitie bude
v dôsledku zaokrúhlení viesť k získaniu úplne inej farby.
faktor
– faktor stmavenia – hodnota v rozsahu 0.0 – 1.0,
pričom krajné hodnoty (0.0 a 1.0) nie sú na použitie vhodné
(0.0 by stmavila farbu do čiernej a 1.0 by nevykonala žiadnu
zmenu svetlosti); čím je hodnota faktora nižšia, tým je
úroveň stmavenia výraznejšiaFarba
s tmavšou
verziou tejto farbypublic Farba priehľadnejšia(double faktor)
Vytvorí priehľadnejšiu verziu tejto farby na základe zadaného faktora.
faktor
– faktor spriehľadnenia – hodnota v rozsahu 0.0 – 1.0,
pričom krajné hodnoty (0.0 a 1.0) nie sú na použitie vhodné
(0.0 by nastavila farbu na úplne priehľadnú a 1.0 by
nevykonala žiadnu zmenu priehľadnosti); čím je hodnota
faktora nižšia, tým je úroveň zmeny priehľadnosti výraznejšiaFarba
s priehľadnejšou
verziou tejto farbypublic Farba priehladnejsia(double faktor)
Alias pre priehľadnejšia
.
public Farba nepriehľadnejšia(double faktor)
Vytvorí menej priehľadnú verziu tejto farby na základe zadaného faktora.
faktor
– faktor znepriehľadnenia – hodnota v rozsahu 0.0 – 1.0,
pričom krajné hodnoty (0.0 a 1.0) nie sú povolené (môžete ich
zadať, ale získate neočakávaný výsledok a môže vzniknúť výnimka);
čím je hodnota faktora nižšia, tým je zmena nepriehľadnosti
výraznejšiaFarba
s menej
priehľadnou verziou tejto farbypublic Farba nepriehladnejsia(double faktor)
Alias pre nepriehľadnejšia
.
public Farba menejPriehľadná(double faktor)
Alias pre nepriehľadnejšia
.
public Farba menejPriehladna(double faktor)
Alias pre nepriehľadnejšia
.
public Farba jasKontrast(double jas, double kontrast)
Vyrobí novú farbu s upravenými parametrami jasu a kontrastu. Oba parametre môžu nadobúdať kladné aj záporné hodnoty. Na príklade nižšie vidno vygenerované farby pri rôznych hodnotách týchto parametrov.
Ukážka rôznych úrovní úpravy jasu a kontrastu
(oboje v rozsahu −240 až 240 s krokom 80) zvolených farieb
(zľava
doprava: žltá
, tmavotyrkysová
, svetlopurpurová
,
tmavočervená
, modrá
a svetlozelená
).
Poznámka: Táto metóda používa rovnaký
algoritmus ako metóda Obrázok.upravJasKontrast
, ale na rozdiel od uvedenej metódy
spracúva aj farby, ktoré sú úplne priehľadné.
jas
– reálnočíselná hodnota určujúca mieru zmeny jasu;
relevantné sú hodnoty v rozmedzí od −255.0 do 255.0kontrast
– reálnočíselná hodnota určujúca mieru zmeny kontrastu;
relevantné sú hodnoty v rozmedzí od −255.0 do 255.0public Farba gamaKorekcia(double γ)
Vyrobí novú farbu upravenú s použitím algoritmu gama (γ) korekcie.
Metóda používa rovnaký algoritmus ako Obrázok.gamaKorekcia
. Ďalšie informácie
o gama korekcii nájdete v opise uvedenej metódy. Parameter γ
môže nadobúdať prakticky ľubovoľné hodnoty, ale odporúčaný rozsah je
v rozmedzí od 0.01
do 7.99
. Príklad nižšie
ukazuje úpravu niekoľkých predvolených farieb s rovnakými hodnotami
parametra γ
.
Ukážka rôznych mier gama korekcie niekoľkých
predvolených farieb
(zľava doprava: žltá
,
tmavotyrkysová
,
svetlopurpurová
,
tmavočervená
, modrá
a svetlozelená
postupne
upravené hodnotami γ: 0,01; 0,25; 0,5; 1,0; 2,0; 4,0 a 7.99).
γ
– miera gama korekcie (gama korekcia súvisí s intenzitou
farby; vhodný rozsah hodnôt je zhruba v rozmedzí 0,01 – 7,99)Obrázok.gamaKorekcia(double)
public static Farba vyberFarbu()
Otvorí dialóg na výber farby. Funguje rovnako ako metóda zvoľFarbu
. Predvolená farba v otvorenom dialógu
bude farba pozadia sveta. Po
zvolení želanej farby používateľom, vráti metóda zvolenú farbu
v novom objekte typu Farba
. Ak používateľ dialóg
zruší, tak metóda vráti hodnotu null
.
Poznámka: Texty tlačidiel na potvrdenie
a zrušenie dialógu a na reset a miešanie farieb sú upraviteľné
volaním metódy textTlačidla
triedy Svet
.
Dialóg na výber farby.
null
public static Farba dialógVýberFarby()
Alias pre vyberFarbu
.
public static Farba dialogVyberFarby()
Alias pre vyberFarbu
.
public static Farba zvoľFarbu()
Otvorí dialóg na výber farby. Funguje rovnako ako metóda vyberFarbu
. Predvolená farba v otvorenom dialógu
bude farba pozadia sveta. Po
zvolení želanej farby používateľom, vráti metóda zvolenú farbu
v novom objekte typu Farba
. Ak používateľ dialóg
zruší, tak metóda vráti hodnotu null
.
Poznámka: Texty tlačidiel na potvrdenie
a zrušenie dialógu a na reset a miešanie farieb sú upraviteľné
volaním metódy textTlačidla
triedy Svet
.
Dialóg na výber farby.
null
public static Farba vyberFarbu(Color počiatočnáFarba)
Otvorí dialóg na výber farby. Funguje rovnako ako metóda zvoľFarbu
. Otvorený dialóg bude mať
predvolenú zadanú farbu (argument počiatočnáFarba
). Po
zvolení želanej farby používateľom, vráti metóda zvolenú farbu
v novom objekte typu Farba
. Ak používateľ dialóg
zruší, tak metóda vráti hodnotu null
.
Poznámka: Texty tlačidiel na potvrdenie
a zrušenie dialógu a na reset a miešanie farieb sú upraviteľné
volaním metódy textTlačidla
triedy Svet
.
Dialóg na výber farby.
počiatočnáFarba
– predvolená farba v novo otvorenom dialógunull
public static Farba dialógVýberFarby(Color počiatočnáFarba)
Alias pre vyberFarbu
.
public static Farba dialogVyberFarby(Color počiatočnáFarba)
Alias pre vyberFarbu
.
public static Farba zvoľFarbu(Color počiatočnáFarba)
Otvorí dialóg na výber farby. Funguje rovnako ako metóda vyberFarbu
. Otvorený dialóg bude mať
predvolenú zadanú farbu (argument počiatočnáFarba
). Po
zvolení želanej farby používateľom, vráti metóda zvolenú farbu
v novom objekte typu Farba
. Ak používateľ dialóg
zruší, tak metóda vráti hodnotu null
.
Poznámka: Texty tlačidiel na potvrdenie
a zrušenie dialógu a na reset a miešanie farieb sú upraviteľné
volaním metódy textTlačidla
triedy Svet
.
Dialóg na výber farby.
počiatočnáFarba
– predvolená farba v novo otvorenom dialógunull
public static Farba vyberFarbu(String titulok)
Otvorí dialóg na výber farby. Funguje rovnako ako metóda zvoľFarbu
. Predvolená farba v otvorenom
dialógu bude farba pozadia sveta.
Po zvolení želanej farby používateľom, vráti metóda zvolenú farbu
v novom objekte typu Farba
. Ak používateľ dialóg
zruší, tak metóda vráti hodnotu null
. Programátor má
možnosť zvoliť vlastný titulok dialógového okna.
Poznámka: Texty tlačidiel na potvrdenie
a zrušenie dialógu a na reset a miešanie farieb sú upraviteľné
volaním metódy textTlačidla
triedy Svet
.
Dialóg na výber farby.
titulok
– vlastný titulok dialógunull
public static Farba dialógVýberFarby(String titulok)
Alias pre vyberFarbu
.
public static Farba dialogVyberFarby(String titulok)
Alias pre vyberFarbu
.
public static Farba zvoľFarbu(String titulok)
Otvorí dialóg na výber farby. Funguje rovnako ako metóda vyberFarbu
. Predvolená farba v otvorenom
dialógu bude farba pozadia sveta.
Po zvolení želanej farby používateľom, vráti metóda zvolenú farbu
v novom objekte typu Farba
. Ak používateľ dialóg
zruší, tak metóda vráti hodnotu null
. Programátor má
možnosť zvoliť vlastný titulok dialógového okna.
Poznámka: Texty tlačidiel na potvrdenie
a zrušenie dialógu a na reset a miešanie farieb sú upraviteľné
volaním metódy textTlačidla
triedy Svet
.
Dialóg na výber farby.
titulok
– vlastný titulok dialógunull
public static Farba vyberFarbu(String titulok, Color počiatočnáFarba)
Otvorí dialóg na výber farby. Funguje rovnako ako metóda zvoľFarbu
. Otvorený dialóg bude
mať predvolenú zadanú farbu (argument počiatočnáFarba
). Po
zvolení želanej farby používateľom, vráti metóda zvolenú farbu
v novom objekte typu Farba
. Ak používateľ dialóg
zruší, tak metóda vráti hodnotu null
. Programátor má
možnosť zvoliť vlastný titulok dialógového okna.
Poznámka: Texty tlačidiel na potvrdenie
a zrušenie dialógu a na reset a miešanie farieb sú upraviteľné
volaním metódy textTlačidla
triedy Svet
.
Dialóg na výber farby.
titulok
– vlastný titulok dialógupočiatočnáFarba
– predvolená farba v novo otvorenom dialógunull
public static Farba dialógVýberFarby(String titulok, Color počiatočnáFarba)
Alias pre vyberFarbu
.
public static Farba dialogVyberFarby(String titulok, Color počiatočnáFarba)
Alias pre vyberFarbu
.
public static Farba zvoľFarbu(String titulok, Color počiatočnáFarba)
Otvorí dialóg na výber farby. Funguje rovnako ako metóda vyberFarbu
. Otvorený dialóg bude
mať predvolenú zadanú farbu (argument počiatočnáFarba
). Po
zvolení želanej farby používateľom, vráti metóda zvolenú farbu
v novom objekte typu Farba
. Ak používateľ dialóg
zruší, tak metóda vráti hodnotu null
. Programátor má
možnosť zvoliť vlastný titulok dialógového okna.
Poznámka: Texty tlačidiel na potvrdenie
a zrušenie dialógu a na reset a miešanie farieb sú upraviteľné
volaním metódy textTlačidla
triedy Svet
.
Dialóg na výber farby.
titulok
– vlastný titulok dialógupočiatočnáFarba
– predvolená farba v novo otvorenom dialógunull
public static Farba dialógVoľbaFarby(String titulok, Color počiatočnáFarba)
Alias pre zvoľFarbu
.
public static Farba dialogVolbaFarby(String titulok, Color počiatočnáFarba)
Alias pre zvoľFarbu
.
public static double[] RGBtoHSB(int rgb)
Vykoná konverziu z farebnej reprezentácie RGB do HSB.
Argument tejto metódy očakáva zložky farebného priestoru RGB
skombinované v jednej celočíselnej premennej (prípadná zložka
priehľadnosti je ignorovaná).
Hodnoty definujúce farbu farebného priestoru HSB sú vrátené ako
prvky poľa reálnych čísel v rozsahu od 0.0
do
1.0
. Ide o:
H – odtieň (hue) farby – vyjadruje farebný odtieň farby v rámci
viditeľného farebného spektra),
S – sýtosť (saturation) farby – hodnota 0.0
znamená,
že farba je odtieňom šedej, hodnota 1.0
vyjadruje
plne sýte farby,
B – jas (brightnes) farby.
rgb
– farba vyjadrená ako kombinácia zložiek farebného
priestoru RGBRGBtoHSV(int)
public static double[] RGBtoHSB(int rgb, double[] hsb)
Vykoná konverziu z farebnej reprezentácie RGB do HSB.
Funguje rovnako ako metóda RGBtoHSB(rgb)
,
ibaže očakáva vopred vytvorené trojprvkové pole typu
double
, do ktorého prevedené zložky vloží. Ak je
namiesto poľa zadaná hodnota null
, tak metóda pole
vytvorí. Výsledné pole (vytvorené metódou alebo prijaté v druhom
argumente) metóda zároveň vráti vo svojej návratovej hodnote.
rgb
– farba vyjadrená ako kombinácia zložiek farebného
priestoru RGBhsb
– pole, do ktorého metóda vloží hodnoty definujúce farbu
vo farebnom priestore HSB alebo hodnota null
hsb
,
alebo nové pole, ktoré metóda vytvorila v prípade prijatia hodnoty
null
v parametri hsb
RGBtoHSV(int, double[])
public static int HSBtoRGB(double h, double s, double b)
Vykoná konverziu z farebnej reprezentácie HSB do RGB. Zložky
farebného priestoru HSB sú očakávané v rozsahu od 0.0
do 1.0
.
Argumenty sú prepočítané na zložky farebného priestoru RGB
a skombinované do celočíselnej hodnoty vrátenej ako výsledok.
h
– odtieň (hue) farby (vyjadruje farbu v rámci viditeľného
farebného spektra)s
– sýtosť (saturation) farby (0.0
– odtiene
šedej, 1.0
plne sýte farby)b
– jas (brightnes) farbyHSVtoRGB(double, double, double)
public static double[] RGBtoHSV(int rgb)
Vykoná konverziu z farebnej reprezentácie RGB do HSV.
Argument tejto metódy očakáva zložky farebného priestoru RGB
skombinované v jednej celočíselnej premennej (prípadná zložka
priehľadnosti je ignorovaná).
Hodnoty definujúce farbu farebného priestoru HSV sú vrátené ako
prvky poľa reálnych čísel v rozsahu od 0.0
do
1.0
. Ide o:
H – odtieň (hue) farby – vyjadruje farebný odtieň farby v rámci
viditeľného farebného spektra),
S – sýtosť (saturation) farby – hodnota 0.0
znamená,
že farba je odtieňom šedej, hodnota 1.0
vyjadruje
plne sýte farby,
V – valér (value) farby – vyjadruje svetlosť farby.
rgb
– farba vyjadrená ako kombinácia zložiek farebného
priestoru RGBRGBtoHSB(int)
public static double[] RGBtoHSV(int rgb, double[] hsv)
Vykoná konverziu z farebnej reprezentácie RGB do HSV.
Funguje rovnako ako metóda RGBtoHSV(rgb)
,
ibaže očakáva trojprvkové pole typu double
, do ktorého
prevedené zložky vloží. Ak je namiesto poľa zadaná hodnota
null
, tak metóda pole vytvorí. Výsledné pole (vytvorené
metódou alebo prijaté v druhom argumente) metóda zároveň vráti vo
svojej návratovej hodnote.
rgb
– farba vyjadrená ako kombinácia zložiek farebného
priestoru RGBhsv
– pole, do ktorého metóda vloží hodnoty definujúce farbu
vo farebnom priestore HSV alebo hodnota null
hsb
,
alebo nové pole, ktoré metóda vytvorila v prípade prijatia hodnoty
null
v parametri hsb
RGBtoHSB(int, double[])
public static int HSVtoRGB(double h, double s, double v)
Vykoná konverziu z farebnej reprezentácie HSV do RGB. Zložky
farebného priestoru HSV sú očakávané v rozsahu od 0.0
do 1.0
.
Argumenty sú prepočítané na zložky farebného priestoru RGB
a skombinované do celočíselnej hodnoty vrátenej ako výsledok.
h
– odtieň (hue) farby (vyjadruje farbu v rámci viditeľného
farebného spektra)s
– sýtosť (saturation) farby (0.0
– odtiene
šedej, 1.0
plne sýte farby)v
– valér (value) farby (vyjadruje svetlosť farby)HSBtoRGB(double, double, double)
public String toString()
Reťazcová reprezentácia tejto farby na účely ladenia obsahujúca
informáciu o farebných zložkách a alfe. Pozri aj metódy
farbaNaReťazec
a reťazecNaFarbu
.
public static String farbaNaReťazec(Color farba)
Prevedie zadanú inštanciu farby do textovej podoby. (Vhodné napríklad pri ukladaní údajov do konfiguračného súboru.)
farba
– farba, ktorá má byť prevedená do reťazcovej podobyreťazecNaFarbu(String)
public static String farbaNaRetazec(Color farba)
Alias pre farbaNaReťazec
.
public static String farbaNaReťazec(Farebnosť farba)
Prevedie zadanú implementáciu farebnosti do textovej podoby. (Vhodné napríklad pri ukladaní údajov do konfiguračného súboru.)
farba
– inštancia farebnosti, ktorá má byť prevedená do
reťazcovej podobyreťazecNaFarbu(String)
public static String farbaNaRetazec(Farebnosť farba)
Alias pre farbaNaReťazec
.
public static Farba reťazecNaFarbu(String text)
Prevedie zadaný reťazec reprezentujúci farbu na inštanciu farby.
Metóda rozpoznáva buď názvy inštancií rozhrania Farebnosť
(modrá, červená…), alebo reťazce v tvare:
#
rrggbb, kde rr je červená zložka
v šestnástkovom tvare, gg zelená zložka v šestnástkovom
tvare a bb modrá zložka v šestnástkovom tvare,#
rgb, kde r je červená zložka
v šestnástkovom tvare a g zelená zložka v šestnástkovom
tvare, b modrá zložka v šestnástkovom tvare, pričom všetky
zložky v tomto budú rozšírené na: rr, gg, bb,
napríklad: #8af
= #88aaff
rgb(
red,
green,
blue)
, kde red je červená zložka
(v desiatkovom tvare), green zelená zložka, blue
modrá zložka (všetko v desiatkovom celočíselnom tvare v rozsahu 0 –
255),rgba(
red,
green,
blue,
alpha)
, kde
red je červená zložka (v desiatkovom tvare), green
zelená zložka, blue modrá zložka, alpha priehľadnosť
(všetko v desiatkovom celočíselnom tvare v rozsahu 0 – 255; vrátane
priehľadnosti – pozri upozornenie nižšie).Upozornenie: Posledný z uvedených
tvarov nekorešponduje so zápisom používaným v jazykoch slúžiacich
na tvorbu webu (HTML, CSS…), pretože na rozdiel od nich uvádza
(z dôvodu zachovania presnej hodnoty) aj zložku priehľadnosti ako celé
číslo v rozsahu od 0
do 255
. Na prevod z/do
skutočného webového tvaru môžete použiť metódy definované v triede
SVGPodpora
.
Metóda je vhodná ako doplnok k metóde farbaNaReťazec
.
text
– reťazec, ktorý má byť prevedený na farbufarbaNaReťazec(Color)
public static Farba retazecNaFarbu(String text)
Alias pre reťazecNaFarbu
.
public static boolean správnyFormát(String text)
Posúdi, či je zadaný reťazec v rozpoznateľnom formáte
reprezentujúcom farbu.
Metóda rozpoznáva aj názvy inštancií rozhrania Farebnosť
(modrá, červená…) a uzná za správe reťazce v jednom
z nasledujúcich tvarov:
#
rrggbb, kde rr je červená zložka
v šestnástkovom tvare, gg zelená zložka v šestnástkovom
tvare a bb modrá zložka v šestnástkovom tvare,#
rgb, kde r je červená zložka
v šestnástkovom tvare a g zelená zložka v šestnástkovom
tvare, b modrá zložka v šestnástkovom tvare, pričom všetky
zložky v tomto budú rozšírené na: rr, gg, bb,
napríklad: #8af
= #88aaff
rgb(
red,
green,
blue)
, kde red je červená zložka
(v desiatkovom tvare), green zelená zložka, blue
modrá zložka (všetko v desiatkovom tvare),rgba(
red,
green,
blue,
alpha)
, kde
red je červená zložka (v desiatkovom tvare), green
zelená zložka, blue modrá zložka, alpha priehľadnosť
(všetko v desiatkovom tvare)Metóda je vhodná ako doplnok k metódam farbaNaReťazec
a reťazecNaFarbu
.
text
– reťazec, ktorý má byť posúdený true
ak je zadaný teťazec v rozpoznateľnom
formátefarbaNaReťazec(Color)
,
farbaNaReťazec(Farebnosť)
,
reťazecNaFarbu(String)
public static boolean spravnyFormat(String text)
Alias pre správnyFormát
.
public int compareTo(Color ináFarba)
Táto metóda je súčasťou implementácie rozhrania Comparable
. Porovnanie farieb bolo implementované preto, aby mohli
byť inštancie farieb zaradené do triedeného zoznamu. Nie je možné
objektívne určiť ktorá farba je „väčšia“ alebo „menšia,“ ale farby
sú v počítači reprezentované číslicovo. Táto metóda jednoducho
vzájomne odčíta číslicové reprezentácie farieb a vráti výsledok.
Vďaka tomu je možné použiť inštanciu triedy Farba
ako kľúč
triedeného zoznamu, ktorého použitie je v rámci jazyka Java
efektívnejšie. Tak sa dá vytvoriť triedený zoznam Javy, v ktorom
sa dajú rýchlo vyhľadávať informácie podľa farebného kľúča.
compareTo
v rozhraní Comparable<Color>
ináFarba
– inštancia inej farby, s ktorou má byť táto farba
porovnaná