2012-07-07 68 views
7

私はアプリケーション内にユーザーがアプリケーションが出力する特定のオブジェクトの色を選択するためのカラーピッカーを用意しています。カラーピッカーは、RGBA形式で選択された色を出力しています。しかし、私はHTMLのカラーコードが必要です。 RGBAを色を知らずにHTMLに変換し、それを後で文字列として使用できるようにする必要があります。これをどうやってやりますか?RGBAカラーをHTMLカラーコードに変換する

+0

HTMLは半透明の色の値をサポートしていません。アルファが最大値を超えていたり、アルファを気にしない限り、RGBAカラーに相当するHTMLカラーコードを取得することはできません。あなたが受け入れたタグと答えに示されているように、代わりにCSSのカラー値を参照していましたか? – BoltClock

+0

@BoltClock 'canvas'コンテキストには、canvasオブジェクトの透明度を設定するために使用できる' globalAlpha'プロパティがあります。 –

答えて

13

RGBAはネイティブCSS3によってサポートされています。

div { 
    background: rgba(200, 54, 54, 0.5); 
} 

のFirefox、Safariの、クローム、IE9やOperaのブラウザすべてのサポートRGBAを。それ以前のIEではサポートしていません。

幸運にも、それをサポートするブラウザにはRGBA色を指定し、そうでないブラウザには代替色を指定することができます。偉大なハウプトについては、linkをチェックしてください。は、ブラウザが不透明度が利用できない場合にソリッドカラーを使用してにフォールバックすることを許可する:

1. BACK SOLID COLOR TO FALLING - リンクから- :

これら

には2つのオプションがあります。

h1 { 
    color: rgb(127, 127, 127); 
    color: rgba(0, 0, 0, 0.5); //for modern browsers only 
} 

2. PNGにフォールバック:をあなたは背景色に透明度を使用している場合には、それは、アルファとのPNGを使用してにフォールバックすることが可能です(ではないが国境やテキスト上)同じ効果を得るにはチャネルを使用します。これは、CSSを使用するよりも柔軟性が低く、必要な透明度のレベルごとに新しいPNGを作成する必要がありますが、これは有用な解決策になります。あなたは色をピックアップした後、私はあなたがいると思う - JavaScriptやjQueryを使って -

h1 { 
    background: transparent url(imageName.png); 
    background: rgba(0, 0, 0, 0.5) none; //for modern browsers only 
} 

私が言うことをしようとしていますが、あなたがHTMLのカラーコードを必要としないことで、あなただけのCSSプロパティrgbaを追加する必要があります完了しました。

希望します。

+0

私はこれに答えていると思いますが、rgbaは正しいインラインスタイルでサポートされていますか? – Nathan

+0

@ Natha、そうです、答えははいです。色を指定するのとはちょっと違う方法です。 ** 1 ** ** HEX値 - ''#ff0000 ''のように。 ** 2。** RGBA値 - ' 'rgb(255,0,0、0.5)' 'のように。 ** 3。** '' red ''のような色名' ' –

+1

Internet Explorerはバージョン9からのRGBAをサポートしています。 – BoltClock

2

あなたは(a)のJavaScriptでHexにRGBから(あなたの質問のテキストは文字通りを要求する)実際の変換を探しているなら:

red = green = blue = 255; 
hex = '#' + 
    ("0" + (red).toString(16)).slice(-2) + 
    ("0" + (green).toString(16)).slice(-2) + 
    ("0" + (blue).toString(16)).slice(-2); 

何アルファ同等のはもちろんありませんが、不透明度(および/またはブラウザ固有の-opacity)を設定することができます。

関連する問題