Я не понимаю, почему параметры DPI на RenderTargetBitmap
используются так, как они, кажется, используются.
Довольно часто я вижу код, который касается нестандартных настроек DPI, путем настройки размера изображения на основе DPI следующим образом:
new RenderTargetBitmap ((int) (width/96d)*dpi, (int) (height/96d)*dpi, dpi, dpi, PixelFormats.Pbgra32);
Примеры:
http://blogs.msdn.com/b/jaimer/archive/2009/07/03/rendertargetbitmap-tips.aspx
ContentControl + RenderTargetBitmap + пустое изображение
http://social.msdn.microsoft.com/forums/en-US/wpf/thread/984da366-33d3-4fd3-b4bd-4782971785f8/
В других случаях dpi кажется жестким для 96 или разных значений:
new RenderTargetBitmap (width, height, 96, 96, PixelFormats.Pbgra32);
Примеры:
http://www.ericsink.com/wpf3d/3_Bitmap.html
http://dedjo.blogspot.com/2008/05/performance-appliance-of.html
Как визуализировать проверенную CheckBox (тему Aero) на RenderTargetBitmap?
или
new RenderTargetBitmap (width, height, 120, 96, PixelFormats.Pbgra32);
Примеры:
http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.rendertargetbitmap.aspx
Когда вы делаете одно и другое?
Можно ли сказать, что вы всегда должны настраивать размер растрового изображения (как в первом примере), если позже вы захотите отобразить изображение с тем же размером, что и элемент управления внутри вашего приложения?
И что вы, вероятно, должны использовать фиксированный dpi при 96, сохраняя его в файле, или если вы используете разные dpi, не изменяете ширину и высоту?
Скажем, я хочу сохранить изображение элемента управления в файл с фиксированным размером. Могу ли я затем установить dpi или использовать только 96?