设置pygame表面DPI

时间:2017-12-03 13:45:06

标签: python pygame

我正在从一个numpy数组的pygame表面渲染Mandelbrot分形。

当我生成一个10k px * 10k px图像并使用pylab在10 * 10英寸图像中以1000dpi保存时,我得到一个10k像素的图像,当在照片应用程序中构建Windows时,它会很好地显示缩放调整。 在pygame中,虽然图像显示的大小相同,但图像看起来很丑陋:

enter image description here

我正在使用此代码:

pygame.init()
display = pygame.display.set_mode((1000, 1000))
surf = pygame.surfarray.make_surface(gimage)

surf = pygame.transform.rotate(surf, 90)
surf = pygame.transform.scale(surf, (1000, 1000))

如何设置pygame图片大小并调整DPI?

1 个答案:

答案 0 :(得分:1)

scale()是"快速规模运作"并且不使用重新采样 还有smoothscale()使用不同的algorythm 也许它会给你更好的结果。

您还可以使用PIL/Pillow resize()使用不同的重新采样方法。

您也可以尝试将CV2用于resize() 昨天有问题how to use CV2 with PyGame