我正在从一个numpy数组的pygame表面渲染Mandelbrot分形。
当我生成一个10k px * 10k px图像并使用pylab在10 * 10英寸图像中以1000dpi保存时,我得到一个10k像素的图像,当在照片应用程序中构建Windows时,它会很好地显示缩放调整。 在pygame中,虽然图像显示的大小相同,但图像看起来很丑陋:
我正在使用此代码:
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?
答案 0 :(得分:1)
scale()是"快速规模运作"并且不使用重新采样 还有smoothscale()使用不同的algorythm 也许它会给你更好的结果。
您还可以使用PIL/Pillow
resize()使用不同的重新采样方法。
您也可以尝试将CV2
用于resize()
昨天有问题how to use CV2 with PyGame