[viesti Survo-keskustelupalstalla (2001-2013)]
Kirjoittaja: | Seppo Mustonen |
---|---|
Sähköposti: | - |
Päiväys: | 28.9.2004 16:48 |
Survolla värigrafiikkaa tuotetaan joko suoraan kuvaruutuun (GPLOT- komento) tai PostScript-tiedostoiksi (tai PostScript-tulostimille) (PLOT-komento). Jos haluaa olla tarkka kuviensa värien suhteen, tulee tietää, että kuvaruudulla värit määräytyvät ja näkyvät aivan eri tavalla kuin paperilla. Lisäksi riippuu esim. näyttölaitteen ominaisuuksista ja säädöistä sekä toisaalta paperitulostimen (väri)ominaisuuksista, kunnosta, tulostuspaperin laadusta, valaistusolosuhteista ja jopa katsojan silmästä, millaisina värit ja sävyt näyttäytyvät. Väripainatuksessa ja PostScript-kuvissa vallitsevana on CMYK-järjestelmä, jossa värit kuvataan 4 komponentin C=Cyan "vaaleansinertävä", M=Magenta "ruusunpunainen", Y=Yellow "keltainen", K=blacK "musta" niin, että kukin komponentti vaihtelee nollasta (tyhjä) yhteen (täysi) ja värit kerrostuvat (painomusteen tapaan) päällekkäin siten, että mitä enemmän eri komponentteja sitä tummempia värisävyjä. Esim. "kaunista" sinistä edustaa yhdistelmä (1,1,0,0). Mustaa ja harmaan eri asteita saa periaatteessa joko yhdistelmällä (a,a,a,0) tai (0,0,0,a), missä 0<a<=1. Käytännössä jälkimmäinen takaa aidomman harmauden, koska väri syntyy pelkästään mustasta "väri- patruunasta". Jos sekoitetaan vain kolmea ensimmäistä komponenttia tasasuhteisesti, "harmaa" saattaa olla silti esim. ruskehtavaa, koska komponentit eivät käytännössä jakaudu aivan tasaisesti painopinnalle tai eivät ole väriltään tarkalleen oikeita. Kuvaruudulla käytetään väritelevisiosta tuttua RGB-järjestelmää. Siinä värit esitetään 3 komponentin R=Red (punainen), G=Green (vihreä) ja B=Blue (sininen) avulla. Komponenttien (eriväristen "valonsäteiden") kerrostuessa sävyt kirkastuvat eli tapahtuu päinvastoin kuin CMYK-järjestelmässä. Jos unohdetaan K-komponentti (musta), niin CMY- ja RGB-järjestelmien välillä on periaatteellinen vastaavuus R = 1 - C C = 1 - R G = 1 - M tai kääntäen M = 1 - G B = 1 - Y Y = 1 - B ja siis esim. kirkasta keltaista saadaan kuvaruutuun, kun R=1, G=1 ja B=0. Käytännössä ja aivan yleisesti ottaen CMYK- ja RGB-väriavaruuksien välillä ei ole yksikäsitteistä vastaavuutta. Lisää tietoa näistä asioista on luettavissa mm. verkkosivuilta http://dx.sheridan.com/advisor/cmyk_color.html http://www.kolumbus.fi/ari.lindholm/06/06.html SURVO MM:ssä on joukko nimettyjä värejä sekä PLOT- että GPLOT-puolella. Värit valitaan hakasulkuihin merkityillä nimillään tai koodeillaan täsmennysten (specifications) yhteydessä. Esim. HEADER=[RED],Mallikuva_1 tai HEADER=[color(0.333,1,1,0)],Mallikuva_1 tuottaa punaisen otsikon. GPLOT:issa color-määritys on tulossa mukaan versiosta 2.18 lähtien. Se lisää edelleen PostScript- ja kuvaruutukuvien hallinnan samankaltaisuutta. Aikaisemmissa versioissa esim. siniharmaa (jota ei ole valmiiksi nimetty) saadaan GPLOT:issa kuvan otsikon väriksi asetuksilla HEADER=[c(-1)],Mallikuva_1 FILL(-1)=0.5,0.5,0.3,0.2 Värien valinnassa on suureksi avuksi sukro /COLORMAP-PRINT joka piirtää useampisivuisen värikartan erilaisista CMYK-yhdistelmistä PostScript-tiedostona. Kun aikoo tulostaa värikuvia sisältävän raportin lopullisen version tietyllä laitteella (kirjoittimella tai painokoneella), kannattaa ennen lopullisten värien määrittelyä tulostaa tämä värikartta samalla laitteella ja käyttää karttaa mallina, jotta saa mitä haluaa. Nykyisin monet työt esitetään verkossa esim. PostScript-tiedostoista muunnettuina PDF-tiedostoina ja niitä ei välttämättä tulosteta lainkaan paperille vaan katsellaan suoraan kuvaruudusta esim. Acrobat Readerin avulla. Tätä varten olen tutkinut mahdollisuuksia saada aikaan mahdollisimman hyvä vastaavuus suoraan GPLOT:illa tuotettujen värien ja PLOT:illa PS->PDF-muunnoksen kautta kuvaputkella näkyvien värien kesken. Jos PS->PDF-muunnokseen käytetään Ghostscriptiä (ver.8.13 oletusasetuksin) eli jos käytetään esim. sukroa /GS-PDF, vastaavuus näyttää täydelliseltä, kun CMYK->RGB-muunnos tehdään kaavoilla R=int(255*(1-min(1,C+K))), G=int(255*(1-min(1,M+K))), B=int(255*(1-min(1,Y+K))). Huom. Windowsin RGB-koodauksessa värikomponentit esitetään kokonais- lukuina 0,1,2,...,255=2^8-1 välin (0,1) asemasta, jolloin jokainen väri- yhdistelmä kuvataan 3*8=24-bittisenä "sanana". Tällöin periaatteessa saadaan 2^24=16777216 erilaista väriä. Versiosta 2.18 lähtien SURVO MM:ssä GPLOT-kuvissa annetut CMYK-koodit muunnetaan RGB-puolelle noiden kaavojen mukaisesti ja tämä vastaa uuden täsmennyksen RGB oletusarvoa RGB=1. Valitettavasti Adobe Acrobatin puolella täyttä vastaavuutta en ole saanut aikaan (tähän mennessä) millään muunnoskaavoilla eikä Acrobat Distillerin asetuksilla. Kohtuullisen lähelle päästään kaavoilla R=int(255*(1-C)*(1-K)), G=int(255*(1-M)*(1-K)), B=int(255*(1-Y)*(1-K)), joita GPLOT:issa käytetään asetuksella RGB=2 tai kaavoilla R=int(255*(1-(C+K)/s), G=int(255*(1-(M+K)/s), B=int(255*(1-(Y+K)/s), s=min(1,K+max(C,M,Y)) asetuksella RGB=3, mikä ennen SURVO MM-versiota 2.18 on ollut (ainoa) oletusasetus ja johon päädyin aikoinaan "kokeellisesti". Olen hieman ihmeissäni, etten ole saanut Acrobat Distilleriä toimimaan millään asetuksilla siten, että PostScript-kuvat ja vastaavat GPLOT-kuvat olisivat kuvaruudussa täsmälleen samanvärisiä, kun se näyttää onnistuvan Ghostscriptin avulla loistavasti. Yleisesti Distillerin kautta tulevat värit ovat sameampia. Olenkin viikko sitten lähettänyt ongelmasta tiedustelun Adobelle, mutta siihen ei vielä ole tullut vastausta. Huomattakoon, että edellä mainitut kolme CMYK->RGB-muunnosta ovat yhteneviä, kun K=0 (eli periaatteessa turhaa mustaa komponenttia ei lainkaan käytetä). Silti Distiller ei muunna edes puhdasta CMYK-keltaista (0,0,1,0) RGB-keltaiseksi (1,1,0) vaan yleensä likaisemman näköiseksi. Kannattaa kokeilla seuraavaa esimerkkiä: GPLOT maalaa kuvaruudun oikean puoliskon kirkkaankeltaiseksi. Jos aktivoidaan perässä oleva PLOT, joka tekee PS-tiedoston K.PS ja näytetään se /GS-PDF- tai /PS-PDF -sukrolla, niin edellinen antaa täsmälleen saman värin kuin GPLOT mutta jälkimmäinen ei. (Sopivasti kuvia klikkailemalla saa väripinnat osittain päällekkäin.) ....................................................................... MODE=PS FRAME=0 WSTYLE=0 WHOME=WX/2,0 WSIZE=WX/2,WY GPLOT /FRAME FRAMES=F F=0,0,1500,1500,-1 FILL(-1)=0,0,1,0 ....................................................................... FILL(-1)=0,0,1,0 DEVICE=PS,K.PS FRAME=0 FRAMES=F F=0,0,1500,2700,-1 PLOT /FRAME /GS-PDF K.PS / tuottaa samaa keltaista riippumatta näytön säädöistä. /PS-PDF K.PS / antaa tummempaa keltaista tavallisilla näytön säädöillä. ....................................................................... Tässä kuvaamillani asioilla ei ole paljonkaan merkitystä tyypillisissä Survon sovelluksissa, koska esim. tilastografiikassa tärkeintä on lähinnä eri värien selvä erottuminen toisistaan, ei se mitä ne tarkalleen ovat. Joissakin tilanteissa on kuitenkin hyvä olla selvillä siitä, että värien hallintaan liittyy melko hankalia ongelmia, joihin ei ole yksiselitteisiä ratkaisuja. - Seppo
Vastaukset: |
---|
Survo-keskustelupalstan (2001-2013) viestit arkistoitiin aika ajoin sukrolla, joka automaattisesti rakensi viesteistä (yli 1600 kpl) HTML-muotoisen sivukokonaisuuden. Vuoden 2013 alusta Survo-keskustelua on jatkettu entistäkin aktiivisemmin osoitteessa forum.survo.fi. Tervetuloa mukaan!