Sävykkäät taustakuvat

[viesti Survo-keskustelupalstalla (2001-2013)]

Kirjoittaja: Seppo Mustonen
Sähköposti:    -
Päiväys: 14.9.2009 8:54

Noin kuukausi sitten Marjut toivoi saavansa tietyn Survolla tekemänsä
kuvan taustan sävytetyksi siten, että taustakuvan väri vaihtelee
tasaisesti esim. vasemmalta oikealle vihreästä punaiseen.
Tällöin esim. HBAR-kuva viestii taustansa välityksellä vaikkapa siten,
että mitä pitempi pylväs, sitä "vaarallisempi" tapaus.

Sävykkätä taustakuvia varten olen tehnyt pienen laajennuksen Survoon.
Ajatuksesta pääsee parhaiten selville katsomalla esimerkkejä mallista
http://www.survo.fi/papers/ColorChanges.pdf 

Siinä on viimeisenä kuva henkilöauton kuljettajien kuolemanriskeistä
ikäluokittain. Kuva on muunnelma Liikenneturvan raportin
www.liikenneturva.fi/www/fi/tilastot/liitetiedostot/Henkilautoilijoiden-henkilvahingot-_ID-6462_.pdf 
ensimmäisestä kuvasta.

Survolla tehdyllä muunnelmalla on kaksi taustaa. Koko kuva tummenee
harmaan eri astein vasemmalta oikealle ja varsinaisen pylväikön tausta
vihreästä keltaisen kautta punaiseen.

Näitä taustakuvamattoja tehdään uudella sukrolla /COLORMAT muodossa
/COLORMAT n,kuva_nimi.PS
missä n on sävyjen määrä. Väritys alkaa täsmennyksellä
START=c,m,y,k
missä c,m,y ja k ovat lukuja välillä nollasta yhteen ja määrittävät
värin CMYK-järjestelmän mukaisesti.
Värien valitsemiseen esim. sukrokomento (aikaisemmin tekemäni)
/COLORMAP-PRINT
tuottaa CMYK-järjestelmän mukaiset värikartat PDF-tiedostona.

Esim. START=0,1,1,0 aloittaa kirkkaanpunaisesta.
Väri, johon asteittain päädytään annetaan vastaavasti täsmennyksellä
END=c,m,y,k
Haluttaessa on mahdollista antaa myös "väliväri" MIDDLE=c,m,y,k
jolloin esim. tilanteessa

START=0,1,1,0 MIDDLE=0,0,1,0 END=1,0,1,0
/COLORMAT 100,TAUSTA1.PS
väri muuttuu punaisesta keltaiseen 50 askeleella ja sitten
keltaisesta vihreään 50 askeleella. Käytännössä syntyy hyvin tasaisesti
sävyään muuttava värimatto.
Sävyjen todellinen määrä lienee parhaillakin laitteilla alhaisempi kuin
esim. 100, mutta ylimäärästä ei ole haittaa.

Värimaton oletuskoko on 1000x1000, mutta sen saa säädetyksi SIZE-
täsmennyksellä.
Sävy muuttuu vasemmalta oikealle, mutta sen saa muutetuksi alhaalta
ylös tapahtuvaksi täsmennyksellä ROTATE=1

Näitä sävykuvia voi kerrostaa (kuten yleensäkin Survon PostScript-kuvia)
EPS JOIN -komennolla, kuten on tehty mallin ensimmäisen sivun
alaosan "maisemakuvassa" ja Liikenneturvan kuvan muunnelmassa, jossa
pylväskuva piirretään taustakuvien päälle.

Tämä kuvien tapetointimahdollisuus on tietenkin pelkkää kosmetiikkaa,
mutta kuitenkin (jälleen) osoitus siitä, mitä Survon perusominaisuuksia
yhdistelemällä saadaan aikaan.

Tarkempia teknisiä tietoja:
==========================
/COLORMAT-sukron toiminta perustuu olennaisesti yksinkertaiseen
COLORMAT-komentoon, joka tekee START-, MIDDLE- ja END-täsmennysten
mukaisesti toimituskenttään värilistan.
.......................
Esimerkki:
START=1,0,1,0 MIDDLE=0,0,1,0 END=0,1,1,0
COLORMAT 17,CUR+1 / luo 17 väriä asteikolla punainen-keltainen-vihreä
 FILL(-1)=1,0,1,0
 FILL(-2)=0.875,0,1,0
 FILL(-3)=0.75,0,1,0
 FILL(-4)=0.625,0,1,0
 FILL(-5)=0.5,0,1,0
 FILL(-6)=0.375,0,1,0
 FILL(-7)=0.25,0,1,0
 FILL(-8)=0.125,0,1,0
 FILL(-9)=0,0,1,0
 FILL(-10)=0,0.125,1,0
 FILL(-11)=0,0.25,1,0
 FILL(-12)=0,0.375,1,0
 FILL(-13)=0,0.5,1,0
 FILL(-14)=0,0.625,1,0
 FILL(-15)=0,0.75,1,0
 FILL(-16)=0,0.875,1,0
 FILL(-17)=0,1,1,0
 - End of colors -

Peräkkäiset sävyt syntyvät syntyvät (vaakasuunnassa) seuraavanlaisen
piirroskaavion avulla

PLOT X(T)=A+1/2,Y(T)=T
A=1(1)17 COLOR_CHANGE=A,500

eli piirretään parvi vaakasuoria viivoja ja jokaisella askeleella
A=1,2,...,17 viivan väri muuttuu määräytyen vastaavalla
FILL-täsmennyksellä.

Sukro valitsee viivan leveyden automaattisesti niin, ettei viivojen
väliin jää tyhjää (valkoista).
Tämä automatiikka ei kuitenkaan näytä välttämättä takaavan sitä,
etteikö syntyisi viivojen väliin valkoisia kapeita juovia sillon,
kun kuva muunnetaan PS- tai PDF-muodosta esim. JPG-muotoiseksi.
Viivan leveyden voi kuitenkin määrätä erikseen LWIDTH-täsmennyksellä.
Sopivan leveyden saa valituksi aktivoimalla /COLORMAT-sukron ensin
ilman LWIDTH-täsmennystä ja tämän jälkeen komennon TUTSTACK (ilman
parametreja). Komento näyttää (sukromuistin sisältönä) tällöin
"automaattisen" viivanleveyden. Tätä sopivasti kasvattamalla saa
valkoiset raidat katoamaan niin, ettei menetä tarkkuutta.

Nämä temput hallitaan SURVO MM:ssä versiosta 3.11 eteenpäin.

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!

Etusivu  |  Keskustelu
Copyright © Survo Systems 2001-2013. All rights reserved.
Updated 2013-06-15.