Otsikko kertookin jo kaiken. Eli löytyykö tohon RGB():stä HTML Hex muotoseen väriin muuttamiseen jotain helppoa keinoa, vai pitääkö tota oikeesti ruveta jollain ihme regexpleillä tutkimaan? Eli rgb arvo siis on muotoa: rgb(41,144,13) , eli kun ne ei ole edes aina kolmenumeroisia sarjoja, niin ei saa substring():lläkään helposti tosta poimittua noita arvoja ja convertattua.
PdPad eritotissa on itsessään hyvä värikoodin kääntäjä sekä niitä löytyy paljon netistä.
http://www.colorschemer.com/online.html
Tuossa on yksi hyvä linkki, jos oikein ymmärsin ongelmasi.
Ymmärsit väärin.
Edit:
Noniin, sain toimimaan. Tein sitten tollasen regexpin joka ottaa siitä noi rgb arvot ja sitten käytin netistä löydettyä valmista rgb->hex convertteria.
//ottaa parametrikseen rgb värin stringinä: "rgb(123,123,123)" function RGB2HTML(rgb){ red = rgb.replace(/rgb\((.+?)\,(.+?)\,(.+?)\)/,"$1"); green = rgb.replace(/rgb\((.+?)\,(.+?)\,(.+?)\)/,"$2"); blue = rgb.replace(/rgb\((.+?)\,(.+?)\,(.+?)\)/,"$3"); var hexColor = "#"+toHex(red) + toHex(green) + toHex(blue); return hexColor.toString(16); } function toHex(N) { if (N==null) return "00"; N=parseInt(N); if (N==0 || isNaN(N)) return "00"; N=Math.max(0,N); N=Math.min(N,255); N=Math.round(N); return "0123456789ABCDEF".charAt((N-N%16)/16) + "0123456789ABCDEF".charAt(N%16); }
Ei hexoissa ole mitään vaikeaa.
Matso kirjoitti:
return "0123456789ABCDEF".charAt((N-N%16)/16) + "0123456789ABCDEF".charAt(N%16); }
Siis mitä ihmettä?
==>
return N.toString(16);
Tietty jos täytyy toimia vanhemmissa kuin 1.1:ssa niin ok.
Aihe on jo aika vanha, joten et voi enää vastata siihen.