1

Java で RFB プロトコル (VNC サーバー) を実装しています。PIXEL_FORMATプロトコルで提供されているを理解できません。ピクセル形式のデータ構造の定義は次のとおりです。

+--------------+--------------+-----------------+
| No. of bytes | Type [Value] | Description     |
+--------------+--------------+-----------------+
| 1            | U8           | bits-per-pixel  |
| 1            | U8           | depth           |
| 1            | U8           | big-endian-flag |
| 1            | U8           | true-color-flag |
| 2            | U16          | red-max         |
| 2            | U16          | green-max       |
| 2            | U16          | blue-max        |
| 1            | U8           | red-shift       |
| 1            | U8           | green-shift     |
| 1            | U8           | blue-shift      |
| 3            |              | padding         |
+--------------+--------------+-----------------+

RFB プロトコルは各フラグの意味を詳細に定義していますが、生の ARGB 画像の正しい値を決定することはできません。次の値を使用しています。

bits-per-pixel  = 32
depth       = 32
big-endian-flag = 1
true-color-flag = 1
red-max         = 255
green-max   = 255   
blue-max    = 255   
red-shift   = 0
green-shift = 0
blue-shift  = 0
padding     = 0

RealVNC クライアントを使用している間はグレースケール画像を取得し、TightVNC クライアントを使用している間は画像の 4 つの異なるレイヤーを並べて取得します。

適切なエンコーディングを取得するのを手伝ってくれる人はいますか?

4

0 に答える 0