Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# BitmapSource.Create()方法中DPI的相关性是什么?_C#_Wpf_Dpi_Bitmapsource - Fatal编程技术网

C# BitmapSource.Create()方法中DPI的相关性是什么?

C# BitmapSource.Create()方法中DPI的相关性是什么?,c#,wpf,dpi,bitmapsource,C#,Wpf,Dpi,Bitmapsource,我读了维基百科上的文章,但它让我更加困惑。。。我在图像上没有任何DPI信息。我应该使用什么样的DPI,使用一个常量(96/72?)可以吗?如果我不打印图像,这真的很重要吗?DPI不会以任何方式影响位图的像素。图像的DPI只是附加的元数据,它是一种用于描述现实世界中每个像素应该有多大的测量值 例如,您可以有两个图像,它们都表示一张8.5英寸x 11英寸的扫描纸。一个可能来自600 dpi的更高分辨率扫描仪,因此像素的尺寸将为5100x6600,每英寸600点。同一张纸可以用低分辨率扫描仪以300

我读了维基百科上的文章,但它让我更加困惑。。。我在图像上没有任何DPI信息。我应该使用什么样的DPI,使用一个常量(96/72?)可以吗?如果我不打印图像,这真的很重要吗?

DPI不会以任何方式影响位图的像素。图像的DPI只是附加的元数据,它是一种用于描述现实世界中每个像素应该有多大的测量值

例如,您可以有两个图像,它们都表示一张8.5英寸x 11英寸的扫描纸。一个可能来自600 dpi的更高分辨率扫描仪,因此像素的尺寸将为5100x6600,每英寸600点。同一张纸可以用低分辨率扫描仪以300 DPI扫描,因此分辨率仅为2550x3300

现在让我们假设您希望在屏幕上并排显示这两个图像,以比较纸张。它们在屏幕上的大小应该相同。更大的图像很可能会缩小,而不是所有的像素都可见。但是,它们仍然存在,如果你放大图像,你会看到更好的质量。放大分辨率较低的图像会导致质量显著降低

DPI用于允许您在屏幕上显示各种图像,并使它们彼此保持适当的大小比。它对印刷也很重要


通常,您应该坚持默认的DPI为96,除非您有理由不这样做。

这可能会有所帮助:。几乎不需要使用96以外的任何东西,因为这是WPF中的默认大小。谢谢!我会读起来的。由于我使用的是Photoshop图像数据,我注意到Photoshop的默认值是72,我不确定是否将其传递给BitmapSource.Create()as 96不会损坏图像。是的,在第一个链接中解释。谢谢我想看到一个关于这个答案最近的随机否决票的评论,请告诉我你是如何发现它没有用的,这样我可以尝试改进它(或投票关闭它)。。。我可以向你保证,我这边也有研究工作。