I am afraid blitting takes as long as tostring(). This is problematic for decoding and presenting (for example) fullscreen movies in OpenGL.
On 11/3/11, Lenard Lindstrom <[email protected]> wrote: > You could create an empty surface with RGBA order, then blit to it: > > image = pygame.image.load(filename) > surf = pygame.Surface(image.get_size, pygame.SRCALPHA, 32, masks=(0xFF, > 0xFF00, 0xFF0000, 0xFF000000)) > surf.blit(image, (0,0)) > > But there is no way to load an external file into a surface with a different > format. Maybe, if the PNG file had the desired RGBA order to start with... > (Is that even possible?) > > > Nov 2, 2011 05:28:17 AM, [email protected] wrote: >> >> Mmh, I see. Is there any way to have a 32 bit source alpha surface >> have pixels in that order? Or is there any other way how to speed up >> my code by replacing tostring? >> >> On Tue, Nov 1, 2011 at 10:14 PM, Lenard Lindstrom wrote: >> > Hi, >> > >> > Function tostring unmaps each pixel into an RGBA sequence, with the R >> > byte >> > lowest. Function pixels2d returns a view of the actual surface memory. A >> > 32 >> > bit source alpha surface need not, and probably does not, have pixels in >> > an >> > RGBA order. >> > >> > Lenard Lindstrom >> > >> > On Oct 31, 2011, Florian Krause wrote: >> > >> > Hi everyone, >> > >> > can anyone tell me what I am doing wrong here? >> > Please have a look at the attached example code. >> > >> > When using pygame,image.tostring for getting the pixel values to >> > transform them into a texture, everything works well (see the >> > outcommented part with WORKS). >> > >> > However, when I replace this part with pygame.surfarray.pixels2d, then >> > the resulting texture seems broken for some reason. >> > >> > Does anyone have an idea what is going on here? >> > >> > Thanks in advance, >> > Florian >> > >> >> >> >> -- >> www.fladd.de - fladd.de: Homepage of Florian Krause >> blog.fladd.de - fladd's Blog: Blog of Florian Krause >> intermezzo.fladd.de - Intermezzo: Music by Florian Krause and Giacomo >> Novembre > -- www.fladd.de - fladd.de: Homepage of Florian Krause blog.fladd.de - fladd's Blog: Blog of Florian Krause intermezzo.fladd.de - Intermezzo: Music by Florian Krause and Giacomo Novembre
