Thanks Lenard, I used colorkey with per-pixel alpha that is working well.
Thanks Sibtey > Hi > > I am drawing a line on pygame screen and created one transparent > surface of size (800,700) and scaling down using smoothscale to the > pygame screen size .In this condition everything is working fine. > > > > If have created the transparent surface of size like 4892X3614 and > then scaling down to the pygame screen size then transparency is lost. > Can any one help me understanding this? The script is shown below > > > > > > > > import pygame > > BACKGROUNDCOLOR = (255,255,255) > [snip code] > > # for large surface like this transparecy is Lost > > surf = pygame.Surface((4892,3614)) > > surf.fill(BACKGROUNDCOLOR) > > # set transparency > > surf.set_colorkey(BACKGROUNDCOLOR,pygame.RLEACCEL) > > #draw a line on transparent surface > > pygame.draw.line(surf,(200,155,155), (550,550),(750,550),2) > > #scale down > > surf3 = pygame.transform.smoothscale(surf, (800,700)) > > screen.blit(surf3,(0,0)) > > > > pygame.display.flip() > [snip code] The problem is that smoothscale doesn't guarantee colors will remain unchanged. I found the background color of surf3 was (253, 253, 253, 255). The following modified version code does make surf3's background transparent. import pygame import sys BACKGROUNDCOLOR = (255,255,255) pygame.display.init() screen = pygame.display.set_mode((800,700)) screen.fill(BACKGROUNDCOLOR) # draw a line on pygame screen pygame.draw.line(screen,(255,0,0), (50,50),(100,100),1) # for small surface like this transparecy is fine ## ************************************************* ##surf = pygame.Surface((800,700)) ## ************************************************************** # for large surface like this transparecy is Lost surf = pygame.Surface((4892,3614), 0, 24) surf.fill(BACKGROUNDCOLOR) #draw a line on transparent surface pygame.draw.line(surf,(200,155,155), (550,550),(750,550),2) #scale down surf3 = pygame.transform.smoothscale(surf, (800,700)) #set transparency surf3.set_colorkey(surf3.get_at((0,0)),pygame.RLEACCEL) screen.blit(surf3,(0,0)) pygame.display.flip() while 1: events = pygame.event.get() for event in events: if event.type==pygame.KEYDOWN and event.key ==pygame.K_ESCAPE: pygame.display.quit() sys.exit() But it also shows that transparency and scaling don't go together well. Using colorkey with per-pixel alpha may be a better solution: .... surf = pygame.Surface((4892,3614), pygame.SRCALPHA, 32) bg = BACKGROUNDCOLOR surf.fill((bg[0],bg[1],bg[2],0)) # Transparent background color. .... surf3 = pygame.transform.smoothscale(surf, (800,700)) screen.blit(surf3,(0,0)) .... -- Lenard Lindstrom <[EMAIL PROTECTED]>