26

RenderTargetBitmapの DPI パラメータが、使用されているように使用される理由がわかりません。次のように、DPI に基づいて画像サイズを調整することで、非標準の DPI 設定を処理するコードをよく見かけます。

new RenderTargetBitmap ((int) (width/96d)*dpi, (int) (height/96d)*dpi, dpi, dpi, PixelFormats.Pbgra32);

例:

http://blogs.msdn.com/b/jaimer/archive/2009/07/03/rendertargetbitmap-tips.aspx ( web.archive.org経由)

ContentControl + RenderTargetBitmap + 空の画像

http://social.msdn.microsoft.com/forums/en-US/wpf/thread/984da366-33d3-4fd3-b4bd-4782971785f8/

また、dpi が 96 または次のように異なる値にハードコードされているように見える場合もあります。

new RenderTargetBitmap (width, height, 96, 96, PixelFormats.Pbgra32);

例:

http://www.i-programmer.info/programming/wpf-workings/538-rendertargetbitmap-visual-vector-to-bitmap.html

http://www.ericsink.com/wpf3d/3_Bitmap.html

http://dedjo.blogspot.com/2008/05/performance-appliance-of.html

チェックボックス (Aero テーマ) を RenderTargetBitmap にレンダリングする方法は?

また

new RenderTargetBitmap (width, height, 120, 96, PixelFormats.Pbgra32);

例:

http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.rendertargetbitmap.aspx

いつ一方と他方を行いますか?

後でアプリ内のコントロールと同じサイズで画像を表示したい場合は、(最初の例のように) ビットマップのサイズを常に調整する必要があると言うのは正しいでしょうか?

ファイルに保存するときは、おそらく 96 の固定 dpi を使用する必要があります。または、別の dpi を使用している場合は、幅と高さを調整しないでください。

コントロールの画像を固定サイズのファイルに保存したいとします。それでもdpiを設定するか、デフォルトの96を使用しますか?

4

1 に答える 1

3

デフォルトの 96 は、デスクトップ ディスプレイの最も一般的/使用されている dpi です。しかし、それは変わる/変わるかもしれません。

プログラムのコンパイル中にビットマップに必要な dpi がわかっている場合は、必要な値 (96 など) に設定できます。

必要な画像の解像度がわからない場合は、dpi をハードコーディングしないでください。

ところで、画像の dpi を常に正しく設定してください。

于 2011-04-20T05:33:11.510 に答える