|
■No69191 (むぅ さん) に返信 > Fontダイアログで10ポイント指定した場合、9.75ptに丸められます。
おそらくは、72ポイント=1 論理インチだからだと思います。
すなわち OS 側が 96dpi の場合、1 ドット当たりの最小単位が、 72ポイント÷96dpi=0.75ポイント になるという事情です。具体的には、 7pt => 6.75 8pt => 8.25 9pt => 9 10pt => 9.75 11pt => 11.25 12pt => 12 13pt => 12.75 になるという。
private void fontDialog1_Apply(object sender, EventArgs e) { this.textBox1.Text = this.fontDialog1.Font.SizeInPoints.ToString(); }
private void button1_Click(object sender, EventArgs e) { this.fontDialog1.ShowApply = true; this.fontDialog1.ShowDialog(); }
現在の DPI 値は、こんな感じで求められそうです。
PointF dpi; using (Graphics g = this.CreateGraphics()) { dpi = new PointF(g.DpiX, g.DpiY); }
|