Palette surfaces blit to 24 bit or 32 bit surfaces without any color
changes. So unless the screen is set to 16 bit colors, there will be no
problem.
Lenard Lindstrom
On 16/08/10 04:36 PM, John Anderson wrote:
Okay, I think I have a workaround, if I don't .convert() any images,
and modify the palettes from the surface itself, it seems to work
fine, hopefully I can get unconverted surfaces to blit properly
though, it seems that sprites have no issues blitting, its just plain
surfaces which wont blit.
On Sun, Aug 15, 2010 at 10:00 PM, Thiago Chaves <[email protected]
<mailto:[email protected]>> wrote:
Have you seen this?
http://www.pygame.org/docs/ref/display.html#pygame.display.set_palette
If that's not the missing piece in your puzzle, then it's time for you
to start posting sample code and images so we can reproduce your
issue.
-Thiago
On Sun, Aug 15, 2010 at 10:12 PM, John Anderson
<[email protected] <mailto:[email protected]>> wrote:
> I actually have one, but I would like if it were possible to
alter which
> palette entries are used by pygame in real-time, what it seems
happens when
> I .convert() an image, it loses it's unique palette data and
just uses the
> basic pygame palette, but if I don't convert it, it makes it
difficult to
> blit images and adds extra performance issues which might be a
problem
> later. The weird thing is that when I choose not to convert the
images, it
> seems to make no difference, the sprites just seem to use
whatever indicies
> they want anyway, is there some parameter in convert i dont know
about, or
> is it my display setup?
>
> On Sun, Aug 15, 2010 at 10:01 AM, Thiago Chaves
<[email protected] <mailto:[email protected]>> wrote:
>>
>> You need an image editor that gves you an easy way to keep track of
>> the color index of your palettes. =)
>>
>> -Thiago
>>
>> On Fri, Aug 13, 2010 at 6:32 PM, John Anderson
>> <[email protected] <mailto:[email protected]>>
wrote:
>> > yes, I have, unfortunatley that still doesnt mean I can
specify where
>> > the
>> > colours are placed on even the sprite's palette. For
example, I have a
>> > particular sprite with a slightly coloured outline, in the
sprite's
>> > palette,
>> > entries from 0 - 15 are empty, and the outline is entry 16.
I'm not
>> > even
>> > sure where any of the other colours are, and that position
might change
>> > with
>> > an excess of differently coloured sprites on screen, or
worse, even
>> > disappear entirely. What I would like to do is have the
palette fill
>> > from
>> > the bottom, or preferably from a specified index with new palette
>> > entries
>> > loaded from .gif files, rather than try and find a close
approximate
>> > colour
>> > on the existing palette, is this possible to do without
changing the
>> > surface
>> > implementation in pygame, or even SDL?
>> >
>> > On Fri, Aug 13, 2010 at 4:59 AM, Thiago Chaves
<[email protected] <mailto:[email protected]>>
>> > wrote:
>> >>
>> >> Have you looked at the palette functions on surfaces?
>> >>
>> >> http://www.pygame.org/docs/ref/surface.html#Surface.get_palette
>> >>
>> >> -Thiago
>> >>
>> >> On Thu, Aug 12, 2010 at 8:56 PM, John Anderson
>> >> <[email protected]
<mailto:[email protected]>> wrote:
>> >> > Hi, I was wondering if it was possible to force an 8-bit
colour
>> >> > sprite
>> >> > to
>> >> > use a very particular set of palette entries, like say,
Sprite A uses
>> >> > colour
>> >> > indicies 0 - 16, and Sprite B uses 17 - 32. As it stands,
pygame
>> >> > automatically assigns the colours in a sprite to the
closest colour
>> >> > on
>> >> > the
>> >> > main palette, meaning that it is very hard to predict
which colours
>> >> > are
>> >> > where, and thus makes palette swapping a nightmare, is
there any way
>> >> > around
>> >> > this?
>> >> >
>> >
>> >
>
>