問題タブ [dithering]

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 に答える
464 参照

php - この関数を微調整してディザリングを許可するにはどうすればよいですか?

以下に関数を書きました。ある色を別の色に切り替えます。入ってくる写真は、さまざまな色と白い背景を持つ css スプライトです。

つまり、スプライト 1 は青で、スプライト 2 は緑である可能性があります。

関数は 2 回実行され、青 + 緑が必要な色に置き換えられます。

これらの画像でディザリングを許可する必要があります。この関数を変更して、ディザリングされた画像に対処したり、ディザリング自体を追加したりする方法はありますか?

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

android - ビットマップの外観が良くない、ディザリングが機能しない、Android で

アプリで coverflow ビューを使用したいと考えています。反射画像部分を取得するために、次のコードを使用しました - http://www.androidsnippets.com/create-image-with-reflection

ディザリングと tileMode に関する多くのフォーラム/ディスカッションを見てきました。議論されたことをすべて試しましたが、何もうまくいきません。

参考までに - レイアウトでビットマップを使用せずに動的にビットマップを作成しています。そして、それがどれほど悪いかを示すために画像を添付しました:

反射像の見栄えが悪い

この問題を解決するために私が試みたことを以下にリストしました。

しかし、それでも反射画像は非常に醜いです。

どうすればこれを解決できますか?

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

graphics - ディザリングと順序付きディザリング

ディザリングの仕組みなどは理解していますが、ディザリングと順序付きディザリングの違いは何ですか?

また、誰かが私にいくつかの良いリソースを教えてもらえますか?

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

javascript - 親要素を埋めるために子要素の寸法をディザリングする

幅500pxの親divがあるとします。幅を満たす必要がある13の子要素があります。

各子要素に500/13=38.46 ...ピクセルの幅を指定すると、ブラウザーはピクセル値をフロア化するため、合計38 * 13=494ピクセルを占める13個の要素になります。親divの右側には、塗りつぶされていない6つのピクセルがあります。

残り(6ピクセル)がいくつかの子要素に分散され、合計幅が500ピクセルになるように、子要素の幅をディザリングする簡単な方法はありますか?

手動で計算を行う必要があり、ブラウザで計算を管理する方法がない場合、この場合、どのディザリング アルゴリズムを使用できますか?

編集:説明-私はJavaScriptを使用してクライアント側でこれらの計算を行っています。また、親divのサイズと子divの数は、実行時に異なります。上記の図は単なる例です。

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

matrix - オクターブのファイルからマトリックスをロードするにはどうすればよいですか?

imread を使用して 8 ビットのグレースケール イメージをオクターブにロードし、それを ascii 形式で保存して、すべての値の巨大なリストを取得しました。次に、Java で 2x2 マトリックスを使用してディザリングし、ディザリングされた各マトリックスのリストをすべて 1 行に出力しました。

私のプログラムのピクセルのマトリックスが次のようになった場合:

次に、私のプログラムが生成する出力は次のようになります。

次に、その形式の各ピクセルのすべての行列を 1 行にまとめます。これをオクターブにロードして、最終的なディザリングされた画像を表示するにはどうすればよいですか?

私はオクターブをいじっていて、最初に示したような単純なマトリックスを作成し、それをファイルに保存しました。それから、すべてを 1 行にまとめて、問題なく再度ロードすることができました。次に、そのファイルのマトリックスをプログラムが生成したマトリックスに置き換えようとしましたが、オクターブはそれをロードしていないようです。ロードしようとしたマトリックスはまったく変更されません。

0 投票する
3 に答える
1738 参照

c - C の最高品質のディザリング ライブラリ

私は OpenGL で使用するテクスチャ アトラス パッカーを開発しています。現在、オープン ソースを探しています (ライブラリであればより良いですが、オープン ソース ソフトウェアも同様に良いでしょう!)。カラー パレットの作成/ディザリングに最適な結果。高速である必要はありませんが、最適な結果を達成する必要があります。1 ピクセルあたり 4 ビットのパレット生成の可能性があれば最高です。

0 投票する
3 に答える
3241 参照

android - AndroidでのOpenGLグラデーションバンディング

OpenGLを使用していくつかの基本的な形状と平面をレンダリングするライブ壁紙を市場に出しました。単純な照明は、平面全体にグラデーション効果を作成します。これは、ほとんどのデバイスで問題なく表示されます。ただし、このスクリーンショットでわかるように、SamsungGalaxyS2シリーズではグラデーションのレンダリングに問題があるようです。

GS2のバンディング

特に信じられないほどからのこのスクリーンショットと比較して、カラーバンディングはひどく見えます:

DIncにバンディングなし

どちらの場合も565EGL構成を使用しているので、これはGS2デバイスの表示の問題にすぎないと思います。誰かがこの疑いを確認できますか?

バンディングの解決策はありますか?

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

android - 色のバンディングを修正しようとしていますか?

携帯電話の色のバンディングを取り除こうとしています。現在、次のようになっています。

ここに画像の説明を入力

悪いですよね?

このチュートリアル (Pre-Dithering に関する部分)に従いましたが、うまくいきませんでした。そのスクリーンショットは、事前ディザリング後のものです。どうすればこれを修正できますか? アンドロイド 2.2.1

編集:これも見ましが、コードを機能させることができません。

わかりました、追加しました

バックグラウンドはバンド化されたドローアブルであるためです。アプリを実行しようとすると、アプリがクラッシュします。だから私は何をすべきかわかりません。

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

android - Android 4.0 以降でのみカラー バンディング

Android 4.0 または 4.0.3 を実行しているエミュレーターで、色のバンディングが見られますが、これを取り除くことはできません。私がテストした他のすべての Android バージョンでは、グラデーションは滑らかに見えます。

RGBX_8888 として構成された SurfaceView があり、レンダリングされたキャンバスにバンディングが表示されません。レンダリングの最後にノイズ パターンをオーバーレイして画像を手動でディザ処理すると、グラデーションを再び滑らかにすることができますが、パフォーマンスが犠牲になることは避けたいと思います。

そのため、バンディングは後で導入されています。4.0 以降では、SurfaceView が描画されてから表示されるまでの間のある時点でより低いビット深度に量子化されているとしか思えません。各チャネル、555 (565 ではなく) への量子化を提案します。

Activity onCreate 関数に以下を追加しましたが、違いはありませんでした。

代わりに onAttachedToWindow() に上記を入れてみましたが、それでも変化はありませんでした。

(私は RGBA_8888 が 2.2 以降のデフォルトのウィンドウ フォーマットであると信じているので、そのフォーマットを明示的に設定しても 4.0 以降には影響しないことは驚くに値しません。)

ソースが 8888 でデスティネーションが 8888 の場合、何が量子化/バンディングを導入していて、なぜそれが 4.0+ でしか表示されないのでしょうか?

非常に不可解です。誰かが光を当てることができるのだろうか?

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

android - 32 ビット (ARGB_8888) サーフェス形式のライブ壁紙を使用することはできますか?

ライブ壁紙をレンダリングすると、バンディング グラデーション アーティファクトが発生します。この記事では、この背後にある理由を完全に説明しています: それらのほとんどを排除し、効率を向上させるために、32 ビット ビットマップの上に 32 ビット ビットマップを描画することができます :)

だから私は自分自身に質問をしました:ライブ壁紙のためにこれを行う方法は?そして、答えが見つかりません:)ライブ壁紙には、Androidフレームワークによって作成されたサーフェスがあります。そして、次の理由により、RGB_565 サーフェスになります。

そして、これを ARGB_8888 に変更するよう Android フレームワークに要求する方法はないようです。それともありますか?

PS もちろん、ディザリングの適用など、上記の記事で説明されている他のことを実行できることはわかっているので、わざわざ私に指摘しないでください。私が尋ねた質問に対する正確な答えを見つけたいです:)