1,008 バイト追加,
2019年12月25日 (水) 08:03
Xamarin.MacでディスプレイのDPIを取得する
Xamarin.MacでディスプレイのDPIを取得する。
<source lang="csharp">
var val = (NSValue)NSScreen.MainScreen.DeviceDescription["NSDeviceResolution"];
var dpi = val.SizeFValue;
Console.WriteLine(dpi);
</source>
WindowクラスにもDeviceDescription["NSDeviceResolution"]があり、こちらで取得を試みるとウインドウが表示されているディスプレイの値が取れる模様。
<source lang="csharp">
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);
}
}
</source>
[[category: Xamarin.Mac]]