6
カスタムコントロールを持つWPFアプリケーションがあります。カスタムコントロールはビットマップにレンダリングされ、次のコードを使用して、ビットマップが表示解像度に一致するように使用する解像度を特定できます。私は、プリントダイアログを介してプリンタにこのコントロールを送信するとき、私はDPIを知らないので、WPFでプリンタのDPIを取得する方法
PresentationSource ps = PresentationSource.FromVisual(this);
if (ps != null)
{
pixelsPerLogicalUnitX = ps.CompositionTarget.TransformToDevice.M11;
pixelsPerLogicalUnitY = ps.CompositionTarget.TransformToDevice.M22;
}
は残念ながら、PresentationSourceはnullです。
プリンタのDPI(またはPresentationSource)を取得する方法はありますか?