5

Adobe InDesign から基本的な HTML + CSS にファイルをエクスポートしようとしています。

ユーザーはテキストを選択して、テキストの色を変更できます。InDesign SDK を使用して、その色の RGB 値をフェッチし、CSS ファイルcolor: rgb(R,G,B)で完全に正常に動作することを宣言できます。

テキストの色合いの値を変更することもできます。今までは色合いの値を取り、それを 0-1 の範囲に変換し、CSS で次のようにエントリを入れていました。color: rgba(R,G,B,Tint)

テスト中に、色合い = 0 は実際には白いテキストを意味するはずであることに気付きましたが、A (RGBA で) = 0 は透明を意味するため、HTML には表示されませんでした!!!

CSSで色合いの値を処理する方法を知っている人はいますか?

4

5 に答える 5

4

CSS には色合い、色相、彩度、明るさはありません。これらのプロパティを RGB カラーに「組み込む」必要があります。RGB に色合いを適用するには、次の式を使用します。

R、G、B が 0..255 の場合、ティントが 0..1 の場合

new R = tint*R + (1-tint)*255;
new G = tint*G + (1-tint)*255;
new B = tint*B + (1-tint)*255;

色合いは、あなたの色と白色の凸状の組み合わせです。ウィキペディアを参照してください。

于 2013-05-09T14:49:26.440 に答える
2

Ivan Kuckirの解決策は正しいです。後で誰かを助けるかもしれないので、説明を追加しています。

説明- 色合いとは、色に白を追加することを意味します。ティント %X は、白とあなたの色の混合物があることを意味します。ここで、白は混合物の (100-X)% であり、あなたの色は混合物の X% を構成します。
したがって、赤 (255,0,0) と色合い .6 => 赤 60% と白 40% の混合物を作成します。

したがって、得られる混合物は次のようなものになるはずです -
.6 * RED + .4 * WHITE
これは、任意の 2 色 (C1、C2) を特定の比率 = p:q で混合する場合に従うことができます。

new R = p/(p+q) * R1 + q/(p+q) * R2
new G = p/(p+q) * G1 + q/(p+q) * G2
new B = p/(p+q) * B1 + q/(p+q) * B2

色合いの場合、(R2,G2,B2) = (255,255,255)

new R = tint*R + (1-tint)*255;
new G = tint*G + (1-tint)*255;
new B = tint*B + (1-tint)*255;
于 2013-05-10T12:49:53.723 に答える
0

.Less には、このための非常に簡単な実装があります。

.less ファイルを追加した後、自由に暗くしたり明るくしたりできます

.element{
  color:darken(#444,20%);
  // or
  // color: lighten(#444,50%);
}

less.orgから取得

// Variables
@link-color:        #428bca; // sea blue
@link-color-hover:  darken(@link-color, 10%);
于 2014-04-17T12:51:44.947 に答える