フォントサイズをポイントからピクセルに変更
Form_Paint或いはPanelコントロールの~_Paintメソッドの中に、PaintEventArgs型のパラメータeからディスプレイのDPIを取得できる。
横方向のDPI : e.Graphics.DpiX
縦方向のDPI : e.Graphics.DpiY
例えば、1920*1080のディスプレイを100%に設定した場合は96で、125%設定の場合は120となる。(DpiXとDpiXが同じの場合がほとんど)
① 縦方向のDPIを取得して保存しておく。
Utility.DpiY = e.Graphics.DpiY
② 幾何変換のための3×3擬似空間行列クラスのインスタンスを作る。
System.Drawing.Drawing2D.Matrix m = CurrentDicomImage.Matrix(CurrentDicomViewer);
③ フォントサイズをポイント単位からピクセル単位に変換する。
short FontSizeInPixel = (short)(FontSizeInPoint / 72.0 * Utility.DpiY / DicomGlobal.Zoom(m));
※1Pointは1/72Inchと相当する。
※上記はDicomImage空間の数値を得る。