2017-12-03 1 views
0

파이 게임 표면에 만델 브로 프랙털을 질적 인 배열로 렌더링하고 있습니다.파이 게임 표면 설정 DPI

나는 10k px * 10k px 이미지를 생성하고 1000dpi로 10 * 10 인치 이미지에 pylab을 사용하여 저장하면 사진 응용 프로그램에서 빌드 할 때 이미지를 표시 할 때 zoom ajustment . 이 같은 크기로 표시되어 있지만 파이 게임에서 는 이미지가 꽤 추한 외모 :이 코드를 사용하고

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)) 

을 어떻게하고자 한 세트 파이 게임 이미지 크기와 DPI에게?

+1

읽기 문서 : [scale] (http://pygame.org/docs/ref/transform.html#pygame.transform.scale)은 "빠른 스케일 연산"입니다. 또 다른 algorythm을 사용하는 [smoothscale] (http://pygame.org/docs/ref/transform.html#pygame.transform.smoothscale)도 있습니다. 어쩌면 그것은 당신에게 더 나은 결과를 줄 것입니다. – furas

+0

[PIL/Pillow]를 사용하여 [resize()] (http://pillow.readthedocs.io/en/4.3.x/reference/Image.html?highlight=resize#PIL.Image.Image.resize)를 사용할 수도 있습니다.) 리샘플링의 다른 방법으로. 그리고'PIL/Pillow '도 함께 표시 할 수 있습니다. – furas

+0

그래서 10k px에서 1k px로 크기를 조정 한 다음 파이 게임으로 돌려 주어야합니까? 키보드로 Mandelbrot을 탐색하고, boudaries 및 zoom 속성을 설정할 수 있기 때문에 저는 파이 게임을 사용하고 있습니다. – Lich4r

답변

1

scale()은 "빠른 스케일 연산"이며 리샘플링을 사용하지 않습니다.
다른 algorythm을 사용하는 smoothscale()도 있습니다.
아마도 더 나은 결과를 줄 것입니다.

리샘플링 방법이 다른 PIL/Pillow ~ resize()도 사용할 수 있습니다.

CV2에서 resize()까지 사용해 볼 수도 있습니다.
어제 질문이있었습니다. how to use CV2 with PyGame