Diskuze: Canvas - změna odstínu barvy

JavaScript JavaScript Canvas - změna odstínu barvy

Avatar
Filip Pýrek
Redaktor
Avatar
Filip Pýrek:

Ahoj mám opět problém. Mám obrázek a na něm něco černobíle nakresleno (jako že různě světlá černá) a chci to dát do např do modré s tím že to co je světlejší (nějaká šedá v originálu) bude světlejší než ta daná modrá kterou je nahrazena pouze úplně černá barva. Doufám že to někdo pochopí a pomůže mi. Zkoušel jsem vytvořit nějaké řešení, ale to hlavní co potřebuji, zrovna nefunguje. Moc děkuji za rady.
Právě dělám aplikaci: http://www.itnetwork.cz/…2b349b0d12e9
(A chci aby se měnila barva toho symbolu...)

Odpovědět 20.12.2013 17:33
„The best way to predict the future is to invent it.“ — Alan Kay
Avatar
Odpovídá na Filip Pýrek
Michael Olšavský:

Nevím, zda je to stále aktuální, ale stačí aplikovat barevný "filtr".
Tzn.:

// vykreslíš obrázek na canvas, uložíš si ho do své proměnné
...

var pixels = canvas.getImageData(0,0,img.width, img.height);


function applyColor(pixels)
{
    var newColor = RGB; // pole s barvami
    var currentPixels = pixels.slice(0);
    for(var i = 0; i < pixels.data.length; i+=4)
    {
        if(pixels.data[i+3] > 0) // transparentní
        {
            currentPixels.data[i] = pixels.data[i] / 255 * color;
            currentPixels.data[i + 1] = pixels.data[i + 1] / 255 * color;
            currentPixels.data[i + 2] = pixels.data[i + 2] / 255 * color;
        }
    }

    return currentPixels;
}
 
Nahoru Odpovědět 2.1.2014 15:38
Avatar
Filip Pýrek
Redaktor
Avatar
Odpovídá na Michael Olšavský
Filip Pýrek:

Myslím že tak jsem to zkoušel, ale vypadalo to špatně... Už dobrý ...

Nahoru Odpovědět 2.1.2014 15:52
„The best way to predict the future is to invent it.“ — Alan Kay
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.