我不明白为什么使用RenderTargetBitmap上的DPI参数的方式看起来是这样的。我经常看到处理非标准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 (通过web.archive.org)
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.i-programmer.info/programming/wpf-workings/538-rendertargetbitmap-visual-vector-to-bitmap.html
Bitmap.html
http://dedjo.blogspot.com/2008/05/performance-appliance-of.html
如何将选中的CheckBox (航空主题)呈现给RenderTargetBitmap?
或
new RenderTargetBitmap (width, height, 120, 96, PixelFormats.Pbgra32);示例:
http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.rendertargetbitmap.aspx
你什么时候会做一个又一个?
如果以后想要显示与应用程序中的控件大小相同的图像,那么应该始终调整位图的大小(如第一个示例),这样说对吗?
当您将dpi保存到文件中时,您可能应该使用固定的dpi在96,或者如果您使用的是不同的dpi而不调整宽度和高度?
假设我想将控件的图像保存到一个固定大小的文件中。那么,我是仍然设置dpi,还是只使用默认的96?
发布于 2011-04-20 05:33:11
默认的96是桌面显示器中最常用/最常用的dpi。但这将/可能改变。
如果您知道在编译程序期间位图必须有什么dpi,您可以将其设置为所需的值(例如,96) --老实说,我会使用一个常量来完成这个操作,但在运行时,它归结为相同的内容。
如果你不知道图像需要什么样的分辨率,你不应该硬编码dpi。
顺便说一句:确保始终正确设置图像的dpi。
https://stackoverflow.com/questions/5725511
复制相似问题