IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Petr Zlatohlávek:4.3.2018 21:41

Zdravím. mám jeden černobílý obrázek a ten chci použít jako na pozadí s tím, že potřebuju změnit černou barvu na jinou a bílou taky na jinou. přes to potřebuju vložit druhý černobílý obrázek s tím, že černá bude průhledná a bílá taky aby šla měnit za jinou. zkrátka potřebuju mít dynamicky generovaný symbol. zdrojové obrázky se budou také měnit. věděl by někdo jak na to?. jak mám konkrétní barvu definovat jako průhlednou a jak se dá zaměnit barva? děkuji

 
Odpovědět
4.3.2018 21:41
Avatar
Šimon Rataj
Člen
Avatar
Šimon Rataj:5.3.2018 14:48

http://php.net/…tOpaqueImage

<?php
$i = new Imagick("obrazek.jpg");
$i->paintOpaqueImage("#000000", "rgba(0,0,0,0)", 0); /* Ten třetí parametr můžeš zvýšit pro toleranci */
$i->writeImage("obrazek_novy.jpg");
?>
 
Nahoru Odpovědět
5.3.2018 14:48
Avatar
Petr Zlatohlávek:5.3.2018 15:00

používám GD knihovnu. tohle asi není pro ni. víš jak to udělat v GD?

 
Nahoru Odpovědět
5.3.2018 15:00
Avatar
Šimon Rataj
Člen
Avatar
Šimon Rataj:5.3.2018 19:11

Vlož si obrázek do proměnné $im.

for ($x=imagesx($im); $x--; ) {
    for ($y=imagesy($im); $y--; ) {
        $c = imagecolorat($im, $x, $y);
        if ($c[0] == 0/*R*/ && $c[1] == 0/*G*/ && $c[2] == 0/*B*/) {//Stará barva
            $colorB = imagecolorallocatealpha($im, 0/*R*/, 0/*G*/, 0/*B*/, 0/*A*/);//Nová barva
            imagesetpixel($im, $x, $y, $colorB);
        }
    }
}
Editováno 5.3.2018 19:12
 
Nahoru Odpovědět
5.3.2018 19:11
Avatar
Petr Zlatohlávek:5.3.2018 21:06

Děkuji. už jsem to sice vyřešil jinak, ale i tak moc dík

 
Nahoru Odpovědět
5.3.2018 21:06
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 5 zpráv z 5.