問題タブ [hsl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1815 参照

android - Androidでビットマップの色/色相を効率的に変更する

次の方法を使用して、ビットマップの色相を変更しています。

それは完全に機能し、ビットマップの輝度を維持します。ただし、ビットマップ サイズ 800*480 以上の色相を変更する場合、この方法は非常に遅くなります。画質をあまり落とさずに最適化するにはどうすればよいですか?

0 投票する
1 に答える
7850 参照

colors - 入力距離によって選択した色から色相、彩度、明度の値を計算する方法

開始 16 進数コードが与えられた場合、明度の線形値を昇順および降順で計算するための数学を知りたいです。色相と彩度についても同様です。

私が欲しいものを正確に説明するのはちょっと難しいですが、幸運なことに、私が必要とする正確なアルゴリズムを利用するこのページを見つけました:

http://www.workwithcolor.com/hsl-color-schemer-01.htm

ページを確認すると、最後の 3 つの redio ボタンが次のように表示されていることに気付きました: 色相によるリニア、彩度によるリニア、明度によるリニア。それぞれ、元の 16 進コードに対応する 16 進コードのリストを昇順で提供します。

たとえば、明度については、次のリストが表示されます (カラー FFCE2E から): FFCE2E FFDA61 FFE694 FFF2C7 FFFEFA

数式が必要です。

前もって感謝します。

0 投票する
0 に答える
1637 参照

ios - rgbからhslへの変換用のlutを作成する方法

シェーダーを使用してrgbからhslに、またはその逆に変換する必要があります。プログラムですべてを実行しようとしましたが、遅すぎます...変換用のルックアップテーブル、LUTについて読みましたが、作成方法がわかりません。それとそれに含まれているもの...私はまた、lutサイズを必要最小限に減らす方法を知る必要があります。そうしないと、iPhoneのメモリには大きすぎる可能性があります。処理するフレーム、つまり処理するテクスチャは32ビットrgba->であるため、rgbは24ビット->ピクセルあたり8ビットです。

私は本当にどんな助けにも感謝しますが、それをどのように使うかについてそれをよく説明した後でのみ、lutの作成に集中しました...私の問題はそれをどのように作成するかです。

シェーダーコードは次のとおりです。

バーテックスシェーダー

フラグメントシェーダー

解決しました!!!

0 投票する
2 に答える
1803 参照

java - 色によるリストの並べ替え(Java)

「色の距離」でリストを並べ替えたいと思っています。次の関数を使用して、2つの色の間の距離を計算しています。

ご覧のとおり、RGB値を使用して2つの色の間の「距離」を計算しています。この関数は、正確な精度を必要としないため、計算する必要があるものに対して素晴らしく機能します。問題は、色の距離に基づいてソートされたリストを作成できるように、距離だけでなく、c1がc2の前にあるか後にあるかを判断できる必要があることです。

それが十分に明確でない場合は、例が役立つかもしれません。純粋な黒と純粋な白の間の色の距離は256付近になります。現在の状態では、この関数はcolorDistance(黒、白)とcolorDistance(白、黒)に対して同じ〜256を返します。colorDistance(黒、白)が256を返し、colorDistance(白、黒)が-256を返すようにするにはどうすればよいですか?

それがオプションである場合、私はHSV / HSLを使用することを嫌いではありませんが、RGBについてははるかに精通しています。HSV / HSLを使用して正または負の色の距離を計算する機能を提供できる場合は、それを有効にしてください。

またはさらに良いことに、2つの色を取り、c1がc2の前に来るか後に来るかを単純に決定する別の単純な関数!

0 投票する
1 に答える
526 参照

algorithm - HSL変換は正確ですか?

rgb(0, 96, 255)わずかに異なる値()で終わることなく、HSLに変換して元に戻すことができるアルゴリズム/実装をまだ見つけていませんrgb(0, 98, 255)。これは、すべてのアルゴリズムが壊れていることを意味します(Wolfram | Alphaを含む)。または、HSLがすべてのRGBカラーを表すことができないことを意味します。

どちらが正しい?

0 投票する
1 に答える
1452 参照

php - RGB から HSL 関数への彩度計算が正しくない

RGBカラーから彩度レベルを取得する正しい式を知っている人はいますか?

私はすでにそれを行う機能を持っています。私はインターネットに投稿されたものをたくさん試しましたが、彩度レベルが時々わずかに外れていることを除けば、これだけが(初めて)うまくいったようです.

rgb(204,153,51)に等しいはずhsl(40,60,50)ですが、代わりに がありhsl(40,75,50)ます。ご覧のとおり、色相と明度は正しいです。実際、彩度もほぼ正しいですが、そうでない場合もあり、可能であれば修正する必要があります。

これは私がこれまでに構築したものなので、検索エンジンのデータベースに保存する前に、画像のすべての色の値が正しいことを確認できます。

ここに画像の説明を入力

そして、これは彩度が正しく計算されていないと思われる問題の関数です。

なぜこれが 100% うまくいかないのかについて私が持っている 1 つの手がかりは、最初に HEX カラーを RGB に変換し、次に RGB を HSL に変換していることです。これは Web セーフ カラーによる問題でしょうか、それとも関数でこれを引き起こす可能性のある他の何かを見つけることができますか? それとも、これはそのままですか?

更新 1

他の画像を試してみると、彩度がわずかに高い「ベージュ」(およそ)の色がほとんどのように見えます。カラーピッカーを使用して、彩度バーを本来あるべき場所に移動しても大きな違いはないため、検索機能がこれをあまり検出しない可能性があります. 500,000枚の写真で実行するに、それを解決できればいいのですが。

修正

以下のOmnipotentEntityのおかげで、彼は私が関数に欠落していることに気付きました。私が変更され:

に:

100% 正しい結果が得られるようになりました。

フレンドリーノート

コードでこのカラー テーブルを作成したい場合は、お問い合わせください。

0 投票する
1 に答える
553 参照

php - この HSL から RGB への変換関数が機能しないのはなぜですか?

さて、HSL カラー値を RGB に変換する関数を作成しました。このスクリプトに従って PHP で書き直しました: http://www.easyrgb.com/index.php?X=MATH&H=19#text19

これは私が持っているものです:

このスクリプトの出力:

正しい出力はR: 50, G:199, B:255. の参照スクリプトから完全に適応させましたeasyrgb.com。なぜそれが機能しないのか理解できません。どんな助けでも素晴らしいでしょう。ありがとう。

0 投票する
1 に答える
263 参照

language-agnostic - RGB と HSL/HSV 間の変換: オーバーフローをどうするか?

HSL->RGB および HSV->RGB アルゴリズムに従っていくつかの関数を実装しました。
それらはほとんど問題なく動作しますが、変換の結果として色成分がオーバーフローする正しいことはわかりません。

たとえば、赤のコンポーネントは最終的に になります1.2が、許容範囲は[0..1]です。これに 255 を掛けると、RGB の世界では明らかに無効な値が得られます。

これを処理する正しい方法は何ですか?切り捨て ( if > 1 then set to 1) またはラップアラウンド ( if > 1 then substract 1)?

0 投票する
2 に答える
2827 参照

jquery - Farbtastic は HSL を RGB または Hex に変換します

編集:投稿ソリューション

Farbtastic で選択した色に基づいて色見本を作成したかったのです。HSL 値で計算を行ったのは、その方が簡単で、より良い結果が得られるからです。

Farbtastic から HSL 値を取得した後、明るさを追加して新しい色を作成しました。新しい色は HSL 形式です。表示して後で使用できるように保存するには、RGB または Hex に戻す必要があります。一部のブラウザーは HSL を表示しますが、すべてのモバイル ブラウザーなどで HSL が表示されるとは思いません。

問題は、計算が完了したら、変数 'newcolor' を RGB または Hex に変換することでした。

回答としてマークされたスクリプトは、整数値に対して機能することに注意してください。Farb は小数値を返すので、上に投稿したマイナーな編集を行いました。

Wordpress テーマの作成者: Wordpress のOptions Framework テーマを使用していて、HSL 値を使用できるように Farbtastic を使用したい場合は、必要なファイルが含まれているElihorn によるこの Fork を参照してください。この一連のファイルでは、スクリプトをエンキューした行に「wp_enqueue_style( 'farbtastic' );」を追加する必要がありました。farbtastic の .JS ファイルは、WP に既に含まれているため、含める必要はありません。もちろん、おそらく functions.php の先頭に、Jquery をエンキューする必要もあります。

この質問のパート 2 (重複の問題) については、次を参照してください: 複数回使用された関数から異なる値を返す

0 投票する
1 に答える
847 参照

php - php gdを使用して写真に彩度を適用する方法

php gd を使用して写真に彩度を適用したいのですが、画像編集を行うことしか知りません。する必要がある:

  1. BGR を HSL に変更
  2. 知らないことをする。
  3. 結果を HSL から BGR に戻します。

ステップ2のロジック/アルゴリズムを知っている人はいますか? PHPで写真に彩度を適用する他の良い方法はありますか?

編集:「彩度の適用」とは、ipiccy.comのようなほとんどの画像編集ツールで行うことができる方法のように、写真の彩度を操作/変更し、スライダーの値を変更してからMicrosoft Office 2010で写真を編集する機能です。写真の彩度が変わります。写真の彩度を変更するコードをphpで書きたいのですが、開始方法がわかりません。誰でもアドバイスできますか?ありがとうございました。