From: yinhua <hy...@cd...> - 2005-12-12 10:30:43
|
Thank you very much for your answer. >It depends on the nature of your app--if you _need_ the A and BGR as separate >buffers, then you have to walk the ABGR buffer and split it into two others. >Or you could move only the alpha to a new buffer and pack the BGR data into the >same ABGR buffer.) This is just basic C pointer-manipulation. In my application, I use row_pointers = png_get_rows(png_ptr, info_ptr); to get the row_pointers. I want to separate alpha information away from BGR information. So I create a image[4*width*height] array to store the A,R,G,B information by sequence. For each pixel, it should has four bytes to store its ABGR information, while from the png_get_rowbytes, it can only hold 3 bytes for each pixel, it seems that png data pack some information, right? How can I split these information between A and BGR, I mean how to set the ABGR data into the image array by sequence? I think this question is too easy for you, but I find few reference sin the web for this. Would you please to help me solve this problem? Thank you very much for your help! Frank |