Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JS] funkcja rgb > hex, Problem
vodkon
post 22.12.2012, 22:07:29
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 8.02.2011

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


Witam mam funkcje która zamienia rgb na hex i jest problem ponieważ potrzebuje 3 różnych zmiennych a ja mogę dostarczyć tylko jedną (Przez to "rgbToHex(this.value)" )
i jak przerobić aby z jednej rozdzielił je na 3

  1. function rgbToHex(r, g, b) {
  2. return '#' + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);
  3. }

Wykonywany przez
  1. onBeforeShow: function () { $('#pa_menu_rgb').ColorPickerSetColor(rgbToHex(this.value)); },

value np. wynosi "160, 201, 60" jak zamienić jedną zmienną na 3. przykład rgb='160, 201, 60' na r='160' g='201' b='60'
jak zmienić funkcje żeby odpowiadała powyższemu przykładowi

Ten post edytował vodkon 22.12.2012, 22:13:15
Go to the top of the page
+Quote Post
zegarek84
post 22.12.2012, 22:31:49
Post #2





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


[JAVASCRIPT] pobierz, plaintext
  1. var str = '160, 201, 60';
  2. var ar = str.match(/[0-9]+/g);
  3. console.log(ar);
[JAVASCRIPT] pobierz, plaintext


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
webdice
post 22.12.2012, 22:34:26
Post #3


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




http://stackoverflow.com/questions/1740700...ue-using-jquery

Dostosuj sobie tylko wyrażenie regularne.

EDIT:
Cytat(zegarek84 @ 22.12.2012, 22:31:49 ) *
[JAVASCRIPT] pobierz, plaintext
  1. var str = '160, 201, 60';
  2. var ar = str.match(/[0-9]+/g);
  3. console.log(ar);
[JAVASCRIPT] pobierz, plaintext


Nie lepiej split?
Go to the top of the page
+Quote Post
vodkon
post 22.12.2012, 23:00:35
Post #4





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 8.02.2011

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


  1. function rgbToHex(rgb) {
  2. var hexDigits = [\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\"];
  3. rgb = rgb.match(/^(\d+),\s*(\d+),\s*(\d+)$/);
  4. function hex(x) { return isNaN(x) ? \"00\" : hexDigits[(x - x % 16) / 16] + hexDigits[x % 16]; }
  5. return \"#\" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);
  6. }
Go to the top of the page
+Quote Post
matwiej
post 24.12.2012, 14:47:01
Post #5





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 1.02.2010

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


Jakby ktoś jeszcze szukał kiedyś to można rozwiązać to na takiej zasadzie:

[JAVASCRIPT] pobierz, plaintext
  1. var str = '160, 201, 60';
  2. str= str.split(",");
  3. document.write("R:"+str[0]+"<br/>"+"G:"+str[1]+"<br/>"+"B:"+str[2]);
[JAVASCRIPT] pobierz, plaintext


Ten post edytował matwiej 24.12.2012, 14:47:51
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.04.2024 - 07:05