A PhotoShop színkiválasztó panele:



Egy ilyen panelt vettem alapul színkiválasztó programomnak. Több okból is választottam más színrendszereket a megvalósításnál. Egyrészt nem volt képletem az Lab, és CMYK modellek átszámításához. A másik ok pedig, hogy ezek tipikusan nyomdai munkálatoknál használatosak. Miután az általam készített applet csupán meghatározza egy képernyõn is megjeleníthetõ szín koordinátáit, hasznosabbnak láttam a fenti modellek mással való helyettesítését. Választásom az YIQ, illetve az XYZ színmodellekre esett. Mindkettõ az RGB kocka lineáris transzformációjából adódik. Elõfordulhat, hogy egyes YIQ, illetve XYZ koordinátákra az RGB egyes értékei negatívak lesznek. Ezek monitoron nem megjeleníthetõ színek, amit az applet jelez is.

 

 

A ColorPicker 1.0 java applet:


alt="Your browser understands the <APPLET> tag but isn't running the applet, for some reason." Your browser is completely ignoring the <APPLET> tag!

Az appletrõl hiányoznak a PhotoShop panelján meglévõ gombok. Ezeknek nem találtam értelmes funkciót, ezért nem szerepelnek a programban.

 

 

A program leírása:


A program használata nagyon egyszerû. A színkiválasztás kétféle módon történhet:

  • Egér segítségével a "színkiválasztó négyzetbõl", illetve "színkiválasztó sávból". A program indulásakor a négyzetben a G és B koordináta szerint láthatók a színek. A sávban pedig mindig a harmadik koordináta szerint változtatható. Azt, hogy pl. a zöldet változtathassuk a sávban, meg kell nyomnunk a G melletti chechboxot. Az aktuális színt mindig egy kis keretben láthatjuk jobb oldalt, és a négyzetben, illetve sávban egy kis kör, illetve két kis mutató jelzi, hogy az éppen hol helyezkedik el.

  • Manuálisan beírt értékekkel. Bármelyik textfield-be való írás után az ENTER megnyomásával az összes mezõben frissítõdnek az értékek. Betût nem fogad el a program. Ha az R, G, B színek valamelyike negatívvá változik, vagy 255-nél nagyobb értéket vesz fel, akkor a szín monitoron nem megjeleníthetõ, és ezt jelzi is a program. Minden mezõnél 255 az egység.

Fõbb függvények:

  • Init(): elhelyezi, és inicializálja az applet egyes komponenseit

  • Paint(Graphics g): ez a függvény végzi a kirajzolást

  • rgbtoakarmi(): konvertálás rgb-bõl az összes többi modellre

  • hsbtoakarmi(): konvertálás hsb-bõl az összes többi modellre

  • yiqtoakarmi(): konvertálás yiq-ból az összes többi modellre

  • xyztoakarmi(). konvertálás xyz-bõl az összes többi modellre

  • Eseménykezelõ függvények: ezek vezérlik, hogy mikor történjen konvertálás, frissítés a textboxokban, illetve újrarajzolás

 

 

Egyéb információk:

A programot készítette: Nagy Gergely (NNMXS3)
E-mail: nagy@bille.hu

A forráskód megtekintése:
ColorPicker.java

Letöltés dokumentációval együtt:
ColorPicker.zip

 

1999. 12. 20.