問題タブ [density-independent-pixel]

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 投票する
0 に答える
755 参照

java - javafx密度に依存しない設計を実現する方法

 皆さんこんにちは、

javaFX で密度独立設計                を実現しようとしています (たとえば、200 ピクセルのウィンドウ幅が 88 dpi で 20 cm かかると仮定し、同じ 200 ピクセルのウィンドウ サイズのアプリケーションが異なる PPI で実行される場合、20 cm しか占有しないはずです)。しかし、javaFXによると、シーンの幅にはpx単位しか指定されていません。javaFXは、異なる画面解像度に対して異なるPPIでpxを自動的に管理しますか?

これを確認するには、単純な hello word アプリケーションを作成し、ステージ サイズを 300x275 にして、別の解像度で実行します ( OS 設定から手動で解像度を変更します)。シーン サイズを分析すると、表示が異なります。密度に依存しない設計を実現する方法。
             Android で利用可能な dp ユニットのように

javaFX の dp 式に px を適用しようとします。しかし、JavaFX で PPI を見つけるのは非常に難しく、ubuntu では getDpi() メソッドがすべての解像度で 96 を返します。

    ここでは、さまざまな画面解像度のスクリーンショットを添付しています。

解像度800×600

解像度1024×768

解像度1366×768

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

java - JPEG ファイルへの書き込み後にピクセル データが変更される

JPEG画像でステガノグラフィーを実行しています。DCT係数を使用してデータを非表示にしています。次の手順を実行します。

  1. 入力画像を読み込むBufferedImage
  2. から 8 x 8 ブロックを取得します。BufferedImage
  3. 順方向 DCT を適用して DCT 係数を取得する
  4. メッセージ ビットを DCT 係数に埋め込む
  5. 逆 DCT を適用し、ブロックを書き戻すBufferedImage

メッセージ ビットがなくなるまで手順 2 ~ 5 を繰り返しBufferedImageoutput.jpg. 画像全体に適用するDCTのではなく、メッセージ ビットを埋め込むブロックにのみ適用することに注意してください。このソースをDCTに使用し、これをステガノグラフィに使用しています

問題:ouput.jpgピクセル データが劇的に変化することを示すランダムな線になってしまいます。以下は、イメージ書き込みのコードです。

入力と出力の例:

量子化後、データを埋め込む前の DCT 係数行列:

データを埋め込んだ後の量子化された DCT 係数:

データを埋め込んで IDCT を適用した後、ピクセルは Y 空間でブロックされます。


入力.jpg]

出力.jpg]

JPEGの非可逆性が原因だと思ったので、PNGを試しましたが、それでも同じ問題が発生しました。

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

android - すべての画面で同じ表示サイズ

正確なサイズをミリ単位で表示する必要があります。私が直面している問題は、多くの Android デバイスでビュー サイズ im mm を適用すると、出力が異なることです。すべての画面でまったく同じビュー サイズを実現する方法はありますか? 私は試しました:

  • ピクセル = (mm * dpi) / 25.4
  • context.getResources().getDimensionPixelOffset(R.dimen.size) (100mm)
  • TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_MM, 100, displayMetrics);

そして何もない