Sprawa jest taka, że chciałbym jak w tytule zamienić jasność na przezroczystość używając GD. Chciałem, żeby kolor każdego piksela był zamieniany na zupełnie czarny z różnymi poziomami przezroczystości. Problem jest taki, że zamiast zmieniać każdy piksel po kolei to zmienia barwę całego obrazka na jednolity kolor. Mój kod:
$result = \imagecreate( \imagesx( $source ), \imagesy( $source ) );
for( $x = 0; $x < \imagesx( $source ); $x++ ){
for( $y = 0; $y < \imagesx( $source ); $y++ ){
# Pobiera kolor z oryginału
$color = \imagecolorsforindex( $source, \imagecolorat( $source, $x, $y ) );
# Kompletnie nie rozumiem tej funkcji, bo
# wygląda na to, że zamalowuje cały obraz
# na jeden kolor i nie zmienia się przy kolejnej
# iteracji
$alloc = \imagecolorallocatealpha( $result, 0, 0, 0,
( $color['red'] + $color['blue'] + $color['green'] ) / 6 );
# Nakłada kolor na piksel obrazka docelowego
\imagesetpixel( $result, $x, $y, $alloc );
}
}
Dziękuję z góry za pomoc, trochę już się dzisiaj nad tym pomęczyłem i nic