Xamarin.MacでディスプレイのDPIを取得する

提供: MonoBook
2019年12月25日 (水) 08:03時点におけるAdministrator (トーク | 投稿記録)による版 (ページの作成:「 Xamarin.MacでディスプレイのDPIを取得する Xamarin.MacでディスプレイのDPIを取得する。 <source lang="csharp"> var val = (NSValue)NSS…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

Xamarin.MacでディスプレイのDPIを取得する

Xamarin.MacでディスプレイのDPIを取得する。

            var val = (NSValue)NSScreen.MainScreen.DeviceDescription["NSDeviceResolution"];
            var dpi = val.SizeFValue;
            Console.WriteLine(dpi);

WindowクラスにもDeviceDescription["NSDeviceResolution"]があり、こちらで取得を試みるとウインドウが表示されているディスプレイの値が取れる模様。

    using System;
    using AppKit;
    using Foundation;

    public partial class ViewController : NSViewController
    {
        // 〜〜〜抜粋〜〜〜

        public override void MouseDown(NSEvent theEvent)
        {
            var val = (NSValue)this.View.Window.DeviceDescription["NSDeviceResolution"];
            var dpi = val.SizeFValue;
            Console.WriteLine(dpi);

            base.MouseDown(theEvent);
        }
    }