根据高度/宽度C#设置图像DPI

我正在写一个应用程序将一些图像发送给第三方,图像必须是200×200 DPI。 图像是位图,大小为500宽度和250高度。

我第一次用第三方测试图像时,我的分辨率不正确。 我只使用image.SetResolution(200,200)将其正确设置为200×200。 但是,这只是改变了图像的分辨率标签并且没有正确,根据我的第三方技术联系人,调整图像的高度和宽度。

有没有我可以使用的比率,以便每增加一个分辨率的X单位,我只增加相应的高度或宽度Y单位? 我认为我可以增加分辨率而不必增加高度或宽度。

谢谢你,亚伦。

以数字方式存储的图像没有有意义的DPI概念。 DPI在物理设备上再现图像时起作用。

您需要根据物理设备的DPI以及该设备上所需的输出大小来调整图像大小。

例如,如果打印机告诉您需要300dpi的图像来填充4英寸x4英寸的空间,那么您将为它们提供尺寸为1200×1200像素的位图。 在300dpi输出设备上,此图像的物理尺寸最终为4英寸x 4英寸。 在600dpi设备上,相同的图像输出大小为2英寸x 2英寸。

处理数字图像时,通常会参考PPI,即每英寸像素数。 DPI与数字图像分辨率无直接关系。

因此,如果你看一张200px×200px @ 200PPI的图像,你的图像将是1英寸×1英寸。