2014-05-25 2 views
10

저는 파이 게임을 사용하여 몇 가지를 그려 왔습니다.파이 게임에서의 앤티 앨리어싱 모양

Aliased concentric circles

내가 같이, 그들에게 부드러운을 만들고 싶어 :

Smooth concentric circles


내 생각은 지금까지 그릴 수 있었다 문제는 그들이 별칭 가장자리를 많이 가지고있다 모양을 두 배로 한 다음 사용하십시오

pygame.transform.smoothscale(surf, (w/2, h/2)) 

을 원하는 크기로 줄이십시오.

불행히도 투명한 표면에 내 모양을 그리면 smoothscale이 투명한 픽셀을 만지는 가장자리를 검정색으로 바꿉니다.

  • 어떻게 블랙에 알파 - 투명 픽셀을 켜지 않고도 사진을 smoothscale 않거나
  • 나는 가장자리 안티 알리아싱을 어떻게 다른?
+0

Runnable sample please. – Veedrac

+0

필자는 잠시 동안 파이 게임을 사용하지 않았지만, 배경 위에 스프라이트를 겹치면서 겹쳐서 표시하는 것을 의미하는 배경 부분을 포함하는 새로운 이미지를 만드는 것이 가능할 것입니다. 다음 축소 및 blit * 그 *? – johncip

+0

앤티 엘리 어싱 된 원을 그리는 방법이 있습니다 (http://www.pygame.org/docs/ref/gfxdraw.html). 당신은 그것을 채워진 원 주위에 원을 그리기 위해 사용할 수 있습니까? – elParaguayo

답변

11

파이 게임으로 앤티 엘리 어싱 된 채우기 모양을 그리려면 모듈 gfxdraw을 사용하고 하나의 규칙적으로 채워진 모양과 한 개의 에일리어싱 된 윤곽선을 그립니다. http://www.pygame.org/docs/ref/gfxdraw.html :

"앤티 앨리어스 및 채우기 모양을 그리려면 먼저 함수의 aa * 버전을 사용하고 채워진 버전을 사용하십시오."

gfxdraw을 명시 적으로 가져와야합니다 (예 : from pygame import gfxdraw).

+0

고마워요! 문제는 타원의 절반이 필요하다는 것입니다. 이제는 타원 전체를 그리고 그 절반을 사용합니다 ... –