Mike, To be honest with you, I'd need to develop more to have a better feel for it. I will however, let you know in the future.
Thanks again for you help, Kurt On Wed, Sep 24, 2008 at 7:17 AM, Mike Reed <[EMAIL PROTECTED]> wrote: > There is no way to write to a bitmap in its native format in 1.0, but you > can read the values by calling copyPixelsToBuffer(). This fills out the > buffer with whatever the native config is (alpha_8, 565, 4444, 8888). > If you could extend the api post 1.0, what functionality would you like to > see? > > mike > > > On Sep 23, 2008, at 2:53 PM, Kurt Jacobs wrote: > > Mike, > Thanks for the explanation. Is there a way (method that I could call) > that I can convert the raw bitmap > to the multiplied version because doing the setPixel? > > Thanks, > Kurt > > > On Tue, Sep 23, 2008 at 11:34 AM, Mike Reed <[EMAIL PROTECTED]> wrote: > >> >> The confusion (and I will try to update the dox to make this clearer) >> is that the color int is in unpremultipled form, but the internal >> format for Bitmap pixels is premultiplied. >> >> "premultiplied" means that the r,g,b components have already been >> multiplied by their respective alpha value. Thus 50% transparent Red >> would be stored as 0x80800000 >> >> "unpremultipled" means that the r,g,b components are stored in their >> raw form, independent of the alpha value. Thus 50% transparent Red >> would be stored as 0x80FF0000 >> >> Thus when you specify 0x08040201 in unpremultiplied form (as you >> should for the input to setPixels), that color is internally converted >> to its premultiplied equivalent, which in this case happens to be >> 0x08000000. When you call getPixels(), the values are converted back >> to unpremultiplied form automatically, but in this case there is no >> change. >> >> mike >> >> On Sep 23, 2008, at 10:40 AM, JakeMaui wrote: >> >> >> I have a bitmap issue. I created a simple PNG that was 1 pixel high, >> 16 wide pure white. >> I loaded the bitmap, extracted the pixels, changed the first one and >> then created a bitmap >> from the altered data. The issue is that I thought that until I save >> it, I would have a raw bitmap will all the bits set as I had set >> them. I found that the bits changed. >> Does anybody know what I need to do to preserve the bitmap with the >> bits that I set >> into it? >> >> sample code ... >> int picw= bitmap.getWidth(); >> int pich=bitmap.getHeight(); >> int[] pix = new int[picw*pich]; >> bitmap.getPixels(pix, 0, picw, 0, 0, picw, pich); >> >> // It's pure white at this point. >> // I set the first byte to this but when I pull it out of the newly >> constructed >> // bitmap, it's 0x8000000 >> pix[0]=0x08040201; >> createdBitmap = Bitmap.createBitmap(picw, pich, >> Bitmap.Config.ARGB_8888); >> createdBitmap.setPixels(pix, 0, picw, 0, 0, picw, pich); >> >> // get pixels of newly created bitmap >> int picw= embeddedBitmap.getWidth(); >> int pich=embeddedBitmap.getHeight(); >> int[] pix = new int[picw*pich]; >> createdBitmap.getPixels(pix, 0, picw, 0, 0, picw, pich); >> >> Results .... >> 00001000 00000100 00000010 00000001 before >> 00001000 00000000 00000000 0000000 >> >> >> >> >> >> > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---