Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Gradient - mając 1 kolor
Kazaan
post
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 17.07.2008

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


Witam
Nie potrafie sobie poradzic z jednym problemem:
Mam do dyspozycji tylko jeden kolor, potrzebuje drugi do zbudowania gradientu... manipulacja losowa parametrami rgb nie wchodzi w grę, do tego trzeba sprytnego algorytmu, macie jakies rady jak to zrobic ?
Go to the top of the page
+Quote Post
krowal
post
Post #2





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

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


No ale jaki ten drugi kolor ma być, trochę jaśniejszy/ciemniejszy ? a może ma mieć więcej czerwieni ? Wróżko, wróżko prosimy powiedz nam (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
tehaha
post
Post #3





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


raczyłbyś w google wpisać to byś w 1min znalazł - http://planetozh.com/blog/my-projects/imag...-gradient-fill/

Ten post edytował tehaha 4.03.2011, 15:54:44
Go to the top of the page
+Quote Post
Kazaan
post
Post #4





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 17.07.2008

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


Cytat(krowal @ 4.03.2011, 15:35:43 ) *
No ale jaki ten drugi kolor ma być, trochę jaśniejszy/ciemniejszy ? a może ma mieć więcej czerwieni ? Wróżko, wróżko prosimy powiedz nam (IMG:style_emoticons/default/smile.gif)


Jesli suma 'kontrolna' czyli (r+b+g)/3 jest powyzej 127 to nowy kolor powinien byc jasniejszy, jesli ponizej to ciemniejszy. Jesli chodzi o poziom roznicy, ma byc mocno zauwazalny...

Cytat(tehaha @ 4.03.2011, 15:54:13 ) *
raczyłbyś w google wpisać to byś w 1min znalazł - http://planetozh.com/blog/my-projects/imag...-gradient-fill/



Dzieki za link, choc sam potrafie wygenerowac gradient, napisalem wyraznie: mam do dyspozycji tylko jeden kolor i do niego chce dobrac drugi.

dobra znalazlem soluszyn (IMG:style_emoticons/default/biggrin.gif)

dla potomnych:

  1. function doborKoloru($kolor){
  2. $rgb = Hex2RGB(trim($kolor));
  3. $r = $rgb[0];
  4. $g = $rgb[1];
  5. $b = $rgb[2];
  6.  
  7.  
  8. $nr = $r-round($r/1.8);
  9. $ng = $g-round($g/1.8);
  10. $nb = $b-round($b/1.8);
  11.  
  12. }
  13.  
  14. $newColor = rgb2hex($nr, $ng, $nb);
  15.  
  16. return $newColor;
  17. }


tu przyklad dla ciemniejszego koloru startowego, dla jasniejszego nalezy dodac wartosc dzielana przez 1.8
P.S wpadlem na to przesuwajac suwak w ps Color picker (IMG:style_emoticons/default/biggrin.gif)

Jednak przyslowiowa {d}upa

  1. function doborKoloru($kolor){
  2. $rgb = Hex2RGB(trim($kolor));
  3. $r = $rgb[0];
  4. $g = $rgb[1];
  5. $b = $rgb[2];
  6.  
  7. if(($r+$g+$b)/3 < 127){
  8.  
  9. $nr = $r-round($r/1.8);
  10. $ng = $g-round($g/1.8);
  11. $nb = $b-round($b/1.8);
  12.  
  13. }
  14. else{
  15. $nr = $r*1.4; if($nr > 255){$nr = 255; }
  16. $ng = $g*1.4; if($ng > 255){$ng = 255; }
  17. $nb = $b*1.4; if($nb > 255){$nb = 255; }
  18. }
  19.  
  20. $newColor = rgb2hex($nr, $ng, $nb);
  21.  
  22. return $newColor;
  23. }


dla kolorow jasniejszych trzeba zmienic nieco wartosc, optymalnie jest 1.4
mam nadzieje ze sie komus przyda ten dosc 'slaby' ale dzialajacy kod.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 26.12.2025 - 08:24