[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [pygame] pygame for 2d graphics
Madhubala wrote:
> My code is  below
> -------------------------------------
> s = pygame.Surface((4892,3164)) #original dimension of a screen in
> pixels got from some other application
> s.fill((255,255,255))
>
> 
pygame.draw.aalines(s,(0,0,0),True,[(3000,2500),(3192,2500),(3192,2648),(3000,2648)],0) 
> #original dimensions of a rect
> pygame.display.init()
> w = pygame.display.set_mode((1000,750))
> s1 = pygame.transform.scale(s,(1000,750))
> w.blit(s1,(0,0))
> pygame.display.flip()
> When i am trying to scale down the original surface to pygame window ,
> the rectangle is not visible.
> This is original scalling. I have to provide different scalling
> levels to provide  zooming effect .
>
You are experiencing the destructive effects of aliasing. The scale 
function probably does point or at best bilinear sampling. When scaling 
down by such a large factor you must first filter the image to remove 
frequencies above 1/2 the sampling rate, then sample. This can be done 
with a convolution but is likely to be slow. You'll likely also be 
unhappy with the resulting dimness of the lines. The filtering will 
blend them with their environment causing them to be light gray instead 
of black.
You can read more about aliasing at http://en.wikipedia.org/wiki/Aliasing
gb