如何正确使用或计算BitmapImage的DecodePixelWidth?

时间:2019-04-14 20:12:17

标签: c# wpf image richtextbox flowdocument

尝试了解 WPF 并使用图像。我有 RichTextBox ,宽度为665。例如,我正在加载图像(5400x2700、32位,96dpi)。我认为我应该做这样的事情:

  1. 转换为物理像素。我知道我的显示器有100.13 DPI。所以 [物理单位大小] = [与设备无关的单位大小] * [显示器DPI] = 1/96 * 100.13 = 1.04
  2. RichTextBox 宽度转换为物理像素: [RichTextBox宽度] * * [物理单位大小] = 665 * 1.04≈700
  3. bitmap.BeginInit(); bitmap.StreamSource = memorystream; bitmap.CacheOption = BitmapCacheOption.OnLoad; bitmap.DecodePixelWidth = 700; bitmap.EndInit();

但是,如果我设置bitmap.DecodePixelWidth = 1900,则图像会更清晰。 Two images with different DecodePixelWidth

如何正确设置 DecodePixelWidth

0 个答案:

没有答案