Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%)
|
Hej
zgodnie z tym co napisał manual, do wyciągnięcia poszczegolnych składowy (r,g i (IMG:http://forum.php.pl/style_emoticons/default/cool.gif) konkretnego koloru piksela należy użyć tego: [php:1:9fc999b2f6]<?php $rgb=imagecolorat($im,$x,$y); $r = ($rgb >> 16) & 0xFF; $g = ($rgb >> 8) & 0xFF; $b = $rgb & 0xFF; ?>[/php:1:9fc999b2f6] ale nic z tego nie działa i pokazuje zawsze zero, za wyjątkiem $b - zawsze 86. Czemu? Drugie pytanie: jak przełożyć uzyskane składowe na wartość szesnastkową (do HTMLa)? Próbowałem na różne sposoby z funkcją dechex ale nie wychodziło z tego nic, co by przypominało taką wartość :-) |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 6.08.2003 Ostrzeżenie: (0%)
|
Cytat Hej
zgodnie z tym co napisał manual, do wyciągnięcia poszczegolnych składowy (r,g i (IMG:http://forum.php.pl/style_emoticons/default/cool.gif) konkretnego koloru piksela należy użyć tego: [php:1:6cbd11c2da]<?php $rgb=imagecolorat($im,$x,$y); $r = ($rgb >> 16) & 0xFF; $g = ($rgb >> 8) & 0xFF; $b = $rgb & 0xFF; ?>[/php:1:6cbd11c2da] ale nic z tego nie działa i pokazuje zawsze zero, za wyjątkiem $b - zawsze 86. Czemu? Problem występuje gdy tworzysz nowy obrazek za pomocą imagecreate() bądź wczytujesz go z pliku o formacie, który ma indeksowane kolory (np. gif). Wtedy imagecolorat() zwraca Ci indeks tego koloru, a nie faktyczną wartość RGB. Dla plików które przetrzymują kolory w postaci trójki RGB dla każdego piksela lub przy tworzeniu nowego obrazka za pomocą imagecreatetruecolor(), zwracany kolor jest w postaci RGB. Cytat Drugie pytanie: jak przełożyć uzyskane składowe na wartość szesnastkową (do HTMLa)? Próbowałem na różne sposoby z funkcją dechex ale nie wychodziło z tego nic, co by przypominało taką wartość :-)
[php:1:6cbd11c2da]<?php sprintf("#%02x%02x%02x", $r, $g, $(IMG:http://forum.php.pl/style_emoticons/default/cool.gif) ; ?>[/php:1:6cbd11c2da] PS. Podziękowania dla uboottda za pomoc w rozgryzieniu problemu z imagecolorat(). (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
|
spenalzo Jak uzyskać kolory piksela? 21.08.2003, 21:03:40
spenalzo Re: Jak uzyskać kolory piksela? 21.08.2003, 22:47:04
spenalzo Hmm, jednak coś nie działa...
Teraz tworzę obrazek... 22.08.2003, 00:58:49
adwol CytatHmm, jednak coś nie działa...
Teraz tworzę ob... 22.08.2003, 01:31:31
spenalzo No właśne w tym problem... U mnie dokładnie taki s... 22.08.2003, 01:35:59
adwol CytatNo właśne w tym problem... U mnie dokładnie t... 22.08.2003, 01:41:03
spenalzo CytatNo to niestety nic Ci więcej nie mogę pomóc. ... 22.08.2003, 01:51:39
uboottd Zadna ciekawostka. W manualu stoi jak byk ze image... 22.08.2003, 09:23:15 ![]() ![]() |
|
Aktualny czas: 25.12.2025 - 10:26 |