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 が小数点ではなく整数であること (手動で検証)、およびPen
I'm drawing the geometry with が1.0
単位幅であることを確認しました。
問題は、Rect が 2 デバイス ピクセル幅の画面に描画されていることです。この長方形を正確なデバイス ピクセルで描画するにはどうすればよいですか? 96dpi で 1 ピクセルになると予想しています。