Okay guys, great, this gives me something to work with. Thanks! On Mon, Oct 10, 2011 at 3:40 PM, René Dudfield <[email protected]> wrote: > arg, I already saw a bug. > > #untested... with 1 less bug. > def whitish(c): > r,g,b,a = c > return 255-r < 10 and 255-g < 10 and 255-b < 10 > edges = pygame.transform.laplacian(s) > for y in edges.get_height(): > for x in edges.get_width(): > if edges.get_at((x,y)) != (0,0,0,0) and whitish( s.get_at((x,y)) ): > s.set_at((x,y), (0,0,0)) > > > > > On Mon, Oct 10, 2011 at 8:38 PM, René Dudfield <[email protected]> wrote: >> >> Yeah, that is the cause. >> >> You'll have to look at those pixels and change them if you want to use >> color keying. >> >> You could manually edit them, or come up with an algorithm that changes >> the color of those edge pixels. I'd use an edge detection algo (eg, >> pygame.transform.laplacian) and then replace those pixels that are whiteish >> to black. Since the sprite has a black outline already, maybe that will >> work. But I'm not sure it will look that great. >> >> #untested... >> def whitish(c): >> r,g,b,a = c >> return 255-r < 10 and 255-g < 10 and 255-b < 10 >> edges = pygame.transform.laplacian(s) >> for y in edges.get_height(): >> for x in edges.get_width(): >> if whitish( edges.get_at((x,y)) ): >> s.set_at((x,y), (0,0,0)) >> >> >> >> Some manual editing will give best results, but obviously it will take >> longer. >> >> >> On Mon, Oct 10, 2011 at 8:24 PM, Sean Wolfe <[email protected]> wrote: >>> >>> Hey all, >>> >>> I am wondering if there's a fix for this. I'm using art is originally >>> on a white background, so I used set_colorkey([255,255,255]) to remove >>> the background, but I'm getting an imprecise outline. I'm thinking >>> it's because of antialiasing? >>> >>> See attached picture ragged_outline.png . >>> >>> Thanks! >>> >>> >>> >>> -- >>> A musician must make music, an artist must paint, a poet must write, >>> if he is to be ultimately at peace with himself. >>> - Abraham Maslow >> > >
-- A musician must make music, an artist must paint, a poet must write, if he is to be ultimately at peace with himself. - Abraham Maslow
