Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Kolor GD ze zmiennej, #ffffff -> imagecolorallocate($img,255,255,255)
suhy
post 25.10.2010, 14:52:21
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 17.02.2008

Ostrzeżenie: (0%)
-----


  1.  
  2. if(!empty($color)) {
  3. $cR = hexdec('0x'.substr($color,1,2));
  4. $cG = hexdec('0x'.substr($color,3,4));
  5. $cB = hexdec('0x'.substr($color,5,6));
  6. $color = ImageColorAllocate($im, $cR, $cG, $cB);
  7. }

nastepnie jest wypisywanie tekstu tym kolorem.

Wynikiem działania tego skryptu jest tekst w kolorze czarnym

Zmienna $color w tym wypadku wyglada mniej wiecej tak #123456 (i jest poprawna tzn. 0-a).
Go to the top of the page
+Quote Post
Fantazyn
post 25.10.2010, 15:00:02
Post #2





Grupa: Zarejestrowani
Postów: 135
Pomógł: 38
Dołączył: 24.02.2007
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


Parametry funkcji substr to kolejno
1. String (Twoja nazwa koloru).
2. Początku wycinka (liczymy od 0).
3. Długość wycinka (a nie koniec wycinka!).

Czyli przynajmniej tutaj jest błąd. Spróbuj tak:
  1. if(!empty($color)) {
  2. $cR = hexdec('0x'.substr($color,1,2));
  3. $cG = hexdec('0x'.substr($color,3,2));
  4. $cB = hexdec('0x'.substr($color,5,2));
  5. $color = ImageColorAllocate($im, $cR, $cG, $cB);
  6. }



--------------------
Go to the top of the page
+Quote Post
Tomplus
post 25.10.2010, 15:00:28
Post #3





Grupa: Zarejestrowani
Postów: 1 875
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

Ostrzeżenie: (0%)
-----


Myśle że jak zastosujes tą funkcje:
http://pl.php.net/manual/en/function.hexdec.php

to po wycięciu FF do zmiennej i konwersji hexdec(FF) wynik będzie Ci wynosił 255 smile.gif
Go to the top of the page
+Quote Post
suhy
post 25.10.2010, 15:13:49
Post #4





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 17.02.2008

Ostrzeżenie: (0%)
-----


  1. if(!empty($color)) {
  2. $color = ImageColorAllocate($im,0xFF,0xFF,0xFF); // ta linia jest ble
  3. $cR = hexdec('0x'.substr($color,1,2));
  4. $cG = hexdec('0x'.substr($color,3,2));
  5. $cB = hexdec('0x'.substr($color,5,2));
  6. $color = ImageColorAllocate($im, $cR, $cG, $cB);
  7. }


Zrobiłem tak i niedziała (bez drugiej linijki nie działało)
Pokazuje w kolorze ciemno zielonym (boze... jaki ja głupi...)

Ten post edytował suhy 25.10.2010, 15:20:08
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 17:15