1

DrawingContext.DrawGeometryデバイスの幅が 1 ピクセルの四角形を使用しようとしています。

var geometry = (defined elsewhere from a Rect {0.0, 0.0, 8.0, 18.0})
var brush = new SolidColorBrush(Color.FromArgb(30, 0xff, 0xff, 0xff));

// Note: the pen is declared with a 1.0 thickness
var pen = new Pen(new SolidColorBrush(Color.FromArgb(0xFF, 0xFF, 0xFF, 0xFF)), 1.0)

drawingContext.DrawGeometry(brush, pen, geometry);

I Rect'm building the geometry with が小数点ではなく整数であること (手動で検証)、およびPenI'm drawing the geometry with が1.0単位幅であることを確認しました。

問題は、Rect が 2 デバイス ピクセル幅の画面に描画されていることです。この長方形を正確なデバイス ピクセルで描画するにはどうすればよいですか? 96dpi で 1 ピクセルになると予想しています。

4

1 に答える 1

1

DrawingContext.PushGuidelineSetを使用して、可能な場合はレンダリングを強制的に整列させることができます。

詳細とサンプルコードについては、このチュートリアルを参照してください。

于 2011-11-20T19:19:30.293 に答える