Как правильно использовать или рассчитать DecodePixelWidth BitmapImage? - PullRequest
0 голосов
/ 14 апреля 2019

Пытается понять WPF и работать с изображениями.У меня RichTextBox с шириной 665.Например, я загружаю изображение (5400x2700, 32 бита, 96 точек на дюйм).Я думал, что я должен сделать что-то вроде этого:

  1. Конвертировать в физические пиксели.Я знаю, что мой монитор имеет 100,13 DPI.Итак [Физический размер блока] = [Размер устройства, не зависящий от устройства] * [Монитор DPI] = 1/96 * 100.13 = 1.04
  2. Преобразование RichTextBox ширина в физические пиксели: [RichTextBox width] * [Размер физических единиц] = 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 ?

...