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

346

    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. Ja taas ammuttu kokkolassa

      Kokkolaisilta pitäisi kerätä pois kaikki ampumaset, keittiöveitset ja kaikki mikä vähänkään paukku ja on terävä.
      Kokkola
      30
      3481
    2. Kukka ampu taas Kokkolassa?

      T. olisi hetkeä aiemmin lähtenyt johonkin. Naapuri kai tekijä J.K., ei paljasjalkainen Kokkolalainen, vaan n. 100km pääs
      Kokkola
      9
      1548
    3. Kuinka kauan

      Olet ollut kaivattuusi ihastunut/rakastunut? Tajusitko tunteesi heti, vai syventyivätkö ne hitaasti?
      Ikävä
      113
      1473
    4. Milli-helenalla ongelmia

      Suomen virkavallan kanssa. Eipä ole ihme kun on etsintäkuullutettu jenkkilässäkin. Vähiin käy oleskelupaikat virottarell
      Kotimaiset julkkisjuorut
      224
      1255
    5. Kun näen sinut

      tulen iloiseksi. Tuskin uskallan katsoa sinua, herätät minussa niin paljon tunteita. En tunne sinua hyvin, mutta jotain
      Ikävä
      34
      893
    6. Purra saksii taas. Hän on mielipuuhassaan.

      Nyt hän leikkaa hyvinvointialueiltamme kymmeniä miljoonia. Sotea romutetaan tylysti. Terveydenhoitoamme kurjistetaan. ht
      Maailman menoa
      242
      883
    7. Yhdelle miehelle

      Mä kaipaan sua niin paljon. Miksi sä oot tommonen pösilö?
      Ikävä
      60
      869
    8. Helena Koivu on äiti

      Mitä hyötyä on Mikko Koivulla kohdella LASTENSA äitiä huonosti . Vie lapset tutuista ympyröistä pois . Lasten kodista.
      Kotimaiset julkkisjuorut
      130
      858
    9. Ja taas kerran hallinto-oikeus että pieleen meni

      Hallinto-oikeus kumosi kunnanhallituksen päätöksen vuokratalojen pääomituksesta. https://sysmad10.oncloudos.com/cgi/DREQ
      Sysmä
      66
      844
    10. Löydänköhän koskaan

      Sunlaista herkkää tunteellista joka jumaloi mua. Tuskin. Siksi harmittaa että asiat meni näin 🥲
      Ikävä
      98
      819
    Aihe