WPF中加载图片时,不同的DPI能够按正确的DPI显示

发布时间 2024-01-01 16:08:13作者: wzwyc

WPF中加载的图片,都是按96 DPI去显示。如果图片本身的DPI不是96的话,图片并不会按照图片本身的分辨率去显示,而是可能会被放大或缩小了。
借助TransformedBitmap能够很好地解决这个问题。

示例代码:

var bitmap = BitmapFrame.Create(new Uri(fileName), BitmapCreateOptions.None, BitmapCacheOption.OnLoad);
var dpiBitmap = new TransformedBitmap(bitmap, new ScaleTransform(bitmap.DpiX / 96.0, bitmap.DpiY / 96.0));