かいフォントの色が背景色のか。[定休日]
-
08-07-2019 - |
質問
がなされているとは聞いている多くのカラーホイール、カラーピッカー、色正規表現エンジンによるwebアプリがご提供できるように色とかカップルのその他の色を調波レイアウトが組み合わせて使います。しかしその目の背景色だけに任意のテキストに印刷された各バックグラウンドカラー(textの場合は印刷、プレビュー)が黒または白である。
私の問題は異なります。ピックアップしました。背景色を使いたいテキストです。私が助けを必要とするを選ぶカップルの色により、次回はもっとドイツ語をしゃべ)として使用ができますフォントの色。もっとも重要なのは、色の文字読み取り可能(コントラストは低すぎ、もうないの濃度が高くなりすぎないようにすることを避ける目してストレスを加えた)、もちろん、組み合わせの前景と背景をかんじゃないでしょうか。
誰でも意識しながら、利用していますか?内にあります。ウェブアプリケーションをもってダウンロードしていただけます。感謝。
解決
が必要な場合はアルゴリズムをしてみてください:変換の色のRGBスペースのHSVスペース(色相、彩度、値)となります。ごUIフレームワークはできないので、この記事: http://en.wikipedia.org/wiki/HSL_and_HSV#Conversion_from_RGB_to_HSL_or_HSV
フエにある[0,360).の"逆"色(うcolorwheelいただくことで、追加を180度:
h = (h + 180) % 360;
のための飽和値、反転してい:
l = 1.0 - l;
v = 1.0 - v;
変換後RGBとなります。こうする高コントラストでも-どこでも-だれでも組み合わせま醜い.
いようにしたい場合は、"醜"の部分を構築し、テーブルに複数の"良さ"を組み合わせ、最差
def q(x):
return x*x
def diff(col1, col2):
return math.sqrt(q(col1.r-col2.r) + q(col1.g-col2.g) + q(col1.b-col2.b))
および使用します。
他のヒント
大丈夫、これはまだない体制における全ての可能性にも嬉しいポイント。私は少しJavaアプリを算定し、コントラスト比の二色およびプロセスだけ色の比率は5:1以上-本比率は、前記式を使ってい皆様にはご理解、ご協力のほどよW3Cはないかと思いま置き換え、現在の勧告(私が考えているもの。するためのファイルの現在の作業dir名chosen-font-colors.html"においては、お好きな色のテキストの色が渡されたこのW3Cのテストです。であると期待しています単一の引数の背景色です。
E.g.ることができようこ
java FontColorChooser 33FFB4
そのわずかに発生するHTMLファイルをブラウザの好みを選びカラーをクリックします。すべての色れに渡され、W3Cの試験のためにこの背景色です。変更ができますの切替5の選択(下の番号を弱トなど3みずコントラスト3:1日10まれていることを確認してください10:1)ともでき切なもの、高コントラスト(項を確認することで、しっかりしより小さくなる)、追加
|| cDiff > 18.0
の場合の条項となくトな行き過ぎているのかな、と言えるとしても極端なコントラストでストレスのご使用できません。こちらのコードとして楽しんでビット:-)
import java.io.*;
/* For text being readable, it must have a good contrast difference. Why?
* Your eye has receptors for brightness and receptors for each of the colors
* red, green and blue. However, it has much more receptors for brightness
* than for color. If you only change the color, but both colors have the
* same contrast, your eye must distinguish fore- and background by the
* color only and this stresses the brain a lot over the time, because it
* can only use the very small amount of signals it gets from the color
* receptors, since the breightness receptors won't note a difference.
* Actually contrast is so much more important than color that you don't
* have to change the color at all. E.g. light red on dark red reads nicely
* even though both are the same color, red.
*/
public class FontColorChooser {
int bred;
int bgreen;
int bblue;
public FontColorChooser(String hexColor) throws NumberFormatException {
int i;
i = Integer.parseInt(hexColor, 16);
bred = (i >> 16);
bgreen = (i >> 8) & 0xFF;
bblue = i & 0xFF;
}
public static void main(String[] args) {
FontColorChooser fcc;
if (args.length == 0) {
System.out.println("Missing argument!");
System.out.println(
"The first argument must be the background" +
"color in hex notation."
);
System.out.println(
"E.g. \"FFFFFF\" for white or \"000000\" for black."
);
return;
}
try {
fcc = new FontColorChooser(args[0]);
} catch (Exception e) {
System.out.println(
args[0] + " is no valid hex color!"
);
return;
}
try {
fcc.start();
} catch (IOException e) {
System.out.println("Failed to write output file!");
}
}
public void start() throws IOException {
int r;
int b;
int g;
OutputStreamWriter out;
out = new OutputStreamWriter(
new FileOutputStream("chosen-font-colors.html"),
"UTF-8"
);
// simple, not W3C comform (most browsers won't care), HTML header
out.write("<html><head><title>\n");
out.write("</title><style type=\"text/css\">\n");
out.write("body { background-color:#");
out.write(rgb2hex(bred, bgreen, bblue));
out.write("; }\n</style></head>\n<body>\n");
// try 4096 colors
for (r = 0; r <= 15; r++) {
for (g = 0; g <= 15; g++) {
for (b = 0; b <= 15; b++) {
int red;
int blue;
int green;
double cDiff;
// brightness increasse like this: 00, 11,22, ..., ff
red = (r << 4) | r;
blue = (b << 4) | b;
green = (g << 4) | g;
cDiff = contrastDiff(
red, green, blue,
bred, bgreen, bblue
);
if (cDiff < 5.0) continue;
writeDiv(red, green, blue, out);
}
}
}
// finalize HTML document
out.write("</body></html>");
out.close();
}
private void writeDiv(int r, int g, int b, OutputStreamWriter out)
throws IOException
{
String hex;
hex = rgb2hex(r, g, b);
out.write("<div style=\"color:#" + hex + "\">");
out.write("This is a sample text for color " + hex + "</div>\n");
}
private double contrastDiff(
int r1, int g1, int b1, int r2, int g2, int b2
) {
double l1;
double l2;
l1 = (
0.2126 * Math.pow((double)r1/255.0, 2.2) +
0.7152 * Math.pow((double)g1/255.0, 2.2) +
0.0722 * Math.pow((double)b1/255.0, 2.2) +
0.05
);
l2 = (
0.2126 * Math.pow((double)r2/255.0, 2.2) +
0.7152 * Math.pow((double)g2/255.0, 2.2) +
0.0722 * Math.pow((double)b2/255.0, 2.2) +
0.05
);
return (l1 > l2) ? (l1 / l2) : (l2 / l1);
}
private String rgb2hex(int r, int g, int b) {
String rs = Integer.toHexString(r);
String gs = Integer.toHexString(g);
String bs = Integer.toHexString(b);
if (rs.length() == 1) rs = "0" + rs;
if (gs.length() == 1) gs = "0" + gs;
if (bs.length() == 1) bs = "0" + bs;
return (rs + gs + bs);
}
}
これは興味深い質問ですが、とは思わないことが実際に可能です。るかどうかは今回のプロジェクト"フィット"としての背景や前景色に依存表示技術と生理学的特性に人間のビジョンの最も重要なのが上に個人の好みの形状によります。迅速に実行を通じてマイスペースを示すかを明確になるすべての人間色の見えるようにする。とは思わないことがある問題を解決することができalgorithmicallyがあり、膨大なデータベースをどこかになマッチングのメーカー。
いても同様の異なる理由-したコードを伝え、エンドユーザーかどうかの前景と背景の色を選んでいたように読みます。このためには、より検討のRGB値に変換し、カラー値をHSL/HSV、その決定は実験によって私にカットオフした読みやすさを比較するときfg、bg値です。これはいい/必要性の考慮が必要となります。
最近の応用これらを使用した反転色をします。のr、g、bの値が終わると、計算(この例では、色範囲が異なり、0から255):
r = 127-(r-127) and so on.
が不思議な答えを自分の質問ですが、ここではそんなカラーピッカーっす。でも解決しない私の問題は((((しかくクーラーはこれらの知っています。
右下のツールを選択"色の球面、非常に強力なカスタマイズ可能な球面参照をよくお使いいただくためのポップアップでなく、"色"Galaxy"が含まれており、今後ともいうこの作品は、見た目も涼や"カラースタジオ"も素敵です。更に出力をサポートしています。すべての種類のフォーマット(例えばIllustratorやPhotoshopなど)
これか選ぶように背景色をありのように作成無色から最初のポップアップ)-この高コントラストとしては、これによりベストの選択の補色としてメインカラーを選んで立?う~ん...ないもののいずれかでありまた良;-)
てお考えのユーザーのお申し込みを選択し自分の色り組んでいきます。必ずすることはできませんでくださいすべてのユーザーの選択ができることを許しか喜ばします。
類似@Aaron Digullaの提案と提供しているグラフィックデザインツールを選択し、コーヒーカップ&ソーサーに、お客様のバックグラウンドカラーを調整して色相、彩度の値です。この機能を使を色見本帳非常に容易です。Paint.Net は無料として使用しますすべての時間のこもった分だけ支払うというツールもいます。
個人的には思っていますぐアルゴリズムの計算に合致したテキストの色を指定し、背景色です。
と思い、現在の家は、トランスボーダーの色に対する良好な品質の当社ブログにアクセスいただきし、テーブルおよび設定のこれらのペアとして、ランダムに 読書をテーマに...
これはよりもリーズナブル、しな醜い色のペアになっています。...