Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] imagefilter - złe kolory
Forum PHP.pl > Forum > PHP
propage
Mam Png z transparetnym tłem, skryptem PHP, chcę zmienić kolor obiektów na obrazku, używam do tego celu funkcji

  1. imagealphablending($dst, false);
  2. imagesavealpha($dst, true);
  3. imagefilter($dst,IMG_FILTER_COLORIZE, $color['red'],$color['green'],$color['blue'], 0));


Gdzie, red, geen, blue, przyjmuje wartości od -255 do 255, nie rozumiem, dlaczego od -255 do 255, a nie od 0 do 255?
Podając tam wartości standardowe dla RGB nie uzyskuję takich kolorów które podałem, a zazwyczaj całkiem inne.

Przy wklepaniu np.
imagefilter($dst,IMG_FILTER_COLORIZE, -255,-255,255 , 0));

Wychodzi mi prawidłowy niebieski, ale
imagefilter($dst,IMG_FILTER_COLORIZE, 0,0,255 , 0));

Całkiem inny kolor.

trueblue
A co w tym dziwnego.
-255=-100%
0=0%
255=100%
Odejmujesz albo dodajesz zawartość składowej koloru.
propage
jak można odjąć kolor, którego nie ma?


Zadam inaczej pytanie, mamy kolor który ma RGB: 130, 130, 255, jakie wartości powinna przyjąć funkcja, abym otrzymał kolor o takim RGB? Wpisanei 130,130,255 wyświetli mi kolor do niczego nie podobny.
trueblue
Ten filter nie służy do wypełniania danego obszaru kolorem czy też tworzenia koloru, tylko wzmacniania/osłabiania poszczególnych składowych kolorów każdego punktu obrazka.
propage
ok, już rozumiem
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.