Värien sekoittaminen (RGB)

ErittäinTyhmä

Liekö tämä oikea osio, mutta mietin tällaista, että onko RGB-väreissä jokin kaava, miten niitä lukuja muuttamalla voisi väriä "sekoittaa"?

Esimerkiksi jos yhdistää vihreää ja punaista, tulisi kaiken järjen mukaan jotain ruskehtavaa...?

Siis (255,0,0) (0,255,0) = ?

Itse "päättelemällä" sain jotain ruskehtavaa laittamalla luvuiksi 128, 128 ja 0.

Tuo lukujen keskiarvo ei kuitenkaan käy kaikkiin, sillä jos samoin tekee vaikka keltaisella (255,255,0) ja sinisellä (0,0,255), niin 128,128,128 onkin harmaa, joka on kyllä valkoisen (255,255,255) ja mustan (0,0,0) "keskiarvo".

Mahtaako tällaista "lakia" olla olemassakaan? RGB-värien luvut on muutenkin aika hämmentäviä, koska siinä on punanen, vihreä ja sininen. Muuten, miksi? Eikö olisi helpompaa, jos siinä olisi päävärit eli vihreän paikalla keltainen?

13

397

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • ihan helppoa on!

      Kannattaa tehdä sävynsäätökäyrästö, jossa vihreä muuttuu lineaarisesti ja punainen parabolisesti ja sininen hyperbolisesti. Tulee loistava liuku! Muitakin matemaattisia funktioita voi käyttää sävynsäädössä.

    • ärgeebee

      RGB:ssä värejä lisätään. Eli lähtötilanne on musta, 0,0,0. Tuohon väriin voi sitten lisätä tietyn määrän punaista, vihreää tai sinistä. Jos kaikkia lisätään maksimimäärä saadaan valkoista. Tämä on kätevää koska saadaan värien lisäksi musta ja valkoinen kolmella päävärillä mikä ei onnistu vesiväreillä joissa värejä sekoitetaan.

      Toisin sanoen tietokoneissa RGB:tä käytetään siksi että monitorit on tehty tekniikalla jossa jokaista pikseliä vastaa kolme lamppua. Jos esim. näytöllä näkyy punainen pikseli, on kyseisen pikselin kohdalla punainen lamppu päällä ja sininen ja vihreä sammutettuina.

    • Aloittaja-dfjhdg

      Kiitos vastauksistanne!

      En kylläkään ainakaan vielä ymmärtänyt tuota hyberpolisjuttua, mutta voihan noita mietiskellä... ehkä joskus tajuan...

      Tuo "lamppujuttu" oli aika valaisevaa. :D

      • gfggssasae

    • Aloittajatelija

      Mites sillä PHP:llä voi tehdä kuvaan (GD-kirjasto...) niitä säännönmukaisesti erivärisiä pisteitä for-silmukan avulla _eri "riveille"_? En hoksaa sitä, vaikka tää on varmaan ihan helppoa. Osaan vaan tehä "yksisuuntaisesti", mutta en sillee taulukkomaisesti, että for menis niikun kahteen suuntaan niin sanotusti... eli oikealle ja alas tms.

      Tyyliin että aina oikeelle mentäessä punanen pienenis ja alas mentäessä vaikka vihree pienenis tai jotain, alla havainnollistava esimerkki:

      255,255,000 - 254,255,000 - ... - 001,255,000 - 000,255,000
      255,254,000 - 254,254,000 - ... - 001,254,000 - 000,254,000
      ...
      255,001,000 - 254,001,000 - ... - 001,001,000 - 000,001,000
      255,000,000 - 254,000,000 - ... - 000,000,000 - 000,000,000

      Help?

      • Aloittaja-fghhgj

        Siis en tarkoita, että olisi pakko juuri forilla tehdä, en vaan oikein tiiä, millä muulla sen voisi tehdä noin...


      • IkuinenSilmukka

        Toinen for-luuppi toisen sisään:

        for (rivin laskurit ym. jutut) {
             for (sarake laskurit muut) {
                  piirrä pisteitä...
             }
        }


      • Aloittaja-fdsjfld
        IkuinenSilmukka kirjoitti:

        Toinen for-luuppi toisen sisään:

        for (rivin laskurit ym. jutut) {
             for (sarake laskurit muut) {
                  piirrä pisteitä...
             }
        }

        Hmm... kiitos! :D


      • Aloittaja-fkdöljhgl
        IkuinenSilmukka kirjoitti:

        Toinen for-luuppi toisen sisään:

        for (rivin laskurit ym. jutut) {
             for (sarake laskurit muut) {
                  piirrä pisteitä...
             }
        }

        Osaakos kukaan vielä kertoa, että mistä kohtuu, kun välillä tuossa kuvassa ei kaikki pisteet värity. Esim. jos koitan 100 x 100 -kokosta aluetta tehä piste kerrallaan, niin siitä saattaa toteutua vaikka vaan 3 ylintä riviä ja osa 4:nnestä rivistä. Voiko tuota virhettä välttää mitenkään?


      • IkuinenSilmukka
        Aloittaja-fkdöljhgl kirjoitti:

        Osaakos kukaan vielä kertoa, että mistä kohtuu, kun välillä tuossa kuvassa ei kaikki pisteet värity. Esim. jos koitan 100 x 100 -kokosta aluetta tehä piste kerrallaan, niin siitä saattaa toteutua vaikka vaan 3 ylintä riviä ja osa 4:nnestä rivistä. Voiko tuota virhettä välttää mitenkään?

        Sulla on jotain vikaa koodissa. Homma ei ole aivan simppeli, koska luuppien sisällä pitää mennä oikein sekä värien arvot että pisteen paikka.

        Laita luupin koodi, niin katsotaan.


      • MinäTaas-mmm
        IkuinenSilmukka kirjoitti:

        Sulla on jotain vikaa koodissa. Homma ei ole aivan simppeli, koska luuppien sisällä pitää mennä oikein sekä värien arvot että pisteen paikka.

        Laita luupin koodi, niin katsotaan.

        Pidin taukoa näistä yrittämisistä, joten en jaksanut aikaisemmin kirjottaa tänne. Nyt kun kokeilen taas, tulee tuo sama juttu. Tässä koitan tehdä vaan mustia pisteitä, mutta silti pisteiden muodostuminen jää kummasti kesken. Mikä vikana?
        ----------------------------------------------------------------------------------------------
        header("Content-type: image/png");
        $kuva = imagecreate(500,500);
        $punainen = imagecolorallocate($kuva, 255, 255, 255);
        $pun = 0;
        $sin = 0;
        $vih = 0;

        for($rivi=1; $rivi


      • MinäTaas-mmm
        MinäTaas-mmm kirjoitti:

        Pidin taukoa näistä yrittämisistä, joten en jaksanut aikaisemmin kirjottaa tänne. Nyt kun kokeilen taas, tulee tuo sama juttu. Tässä koitan tehdä vaan mustia pisteitä, mutta silti pisteiden muodostuminen jää kummasti kesken. Mikä vikana?
        ----------------------------------------------------------------------------------------------
        header("Content-type: image/png");
        $kuva = imagecreate(500,500);
        $punainen = imagecolorallocate($kuva, 255, 255, 255);
        $pun = 0;
        $sin = 0;
        $vih = 0;

        for($rivi=1; $rivi

        Kaarisulkeet katoaa, mutta eiköhän ne oikeissa kohdissa ole...


    • pentti.pepsodentti

      24-bittinen RGB-kuva sisältää kolme tasoa kuvan koon lisäksi.
      Esim. 640x480x3 kuva, jossa 640 on leveys pikseleinä, 480 korkeus pikseleinä ja syvyys 3 tasoa. Esim. tasolla 1 on punaisen värin valoisuus jokaiselle pikselille jne.
      Jokainen pikseli sisältää siis punaisen, vihreän ja sinisen värin kirkkauden. Esimerkiksi punaisen värin kirkkaus voidaan esittää 8-bitin tarkkuudella eli 256:lla eri kirkkaustasoa. Kolme 8-bitin kanavaa = 24-bittiä.

      Pseudokoodi yhden pikselin lukemiseen RGB-kuvasta kohdasta (x,y):
      unsigned int8 pikseli_xy[3] = kuva[x][y];
      unsigned int8 punaisen_kirkkaus = pikseli_xy[1];
      unsigned int8 vihreän_kirkkaus = pikseli_xy[2];
      unsigned int8 sinisen_kirkkaus = pikseli_xy[3];

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Purra hyökkää nyt suomalaisen duunarin kimppuun teettämällä mamuilla palkatonta työtä

      Niinpä niin. Persut duunaripuolue, HAH. Joko alkaa kovapäisinkin persu älyämään, että persut ovat Suomen kansan vastain
      Maailman menoa
      377
      12456
    2. Purra ehdottaa vaan Tanskan mallia, joka on erittäin hyvä malli

      Purra ehdotti helmikuussa Suomeen Tanskan mallia, jossa maahanmuuttajilta vaaditaan työntekoa sosiaalitukien saamiseksi.
      Maailman menoa
      265
      5464
    3. Kokoomusnuoret: Sosiaalitukien työvelvoitteen tulisi koskea kaikkia

      Riikka Purra on esittänyt, että maahanmuuttajilta tulisi edellyttää palkatonta työtä sosiaalitukien vastineeksi. Kokoom
      Maailman menoa
      216
      3964
    4. Purra vaatii: Työvelvoite maahanmuuttajille ja kantasuomalaisille pitkäaikaistyöttömille

      Jos Perussuomalaiset ja Kokoomus ovat seuraavan hallituksen kaksi johtavaa puoluetta, on suomalaisille pitkäaikaistyöttö
      Perussuomalaiset
      214
      2770
    5. Jyrki Linnankivi, Jyrki 69 - Goottirokkarista kirkonmieheksi Lappiin!

      Jyrki Linnankivi eli Jyrki 69 on The 69 Eyes -rockyhtyeen vokalisti. Lauluhommien lisäksi hän sanoittaa, säveltää ja sov
      Työ ja opiskelu
      17
      2025
    6. Onnea Maria ja Vilma Amazing Race -voitosta!

      Maria Guzenina ja Vilma Vähämaa voittivat Amazing Race Suomi -kisan. Voiton hetkellä Guzenina paljasti, miksi valitsi Vi
      Tv-sarjat
      19
      1854
    7. Mikä on mielestäsi paras miestyyppi?

      Esimerkit kärjistettyinä: a) perustavallinen/tasainen b) himourheilija c) varakas, turvallinen elättäjä d) puolikrimina
      Ikävä
      167
      930
    8. Martina Aitolehti

      Instagramissa pomppas esille Martinan kumipallot. Ihan säikähin. Ja tää on Martina-ketju!
      Kotimaiset julkkisjuorut
      273
      895
    9. No kolahtaako kukaan

      Samalla tavalla kuin mä? Harmi kun et uskaltanut kohdata. Ehkä me löydetään jotkut muut jotka voi olla konkreettisempiak
      Ikävä
      74
      802
    10. Rippituoli

      Kerro joku synkkä tai outo salaisuus, joka liittyy ikävääsi kaivattuasi kohtaan. Tee tunnustus anonyyminä. Se helpottaa
      Ikävä
      59
      756
    Aihe