Transparency overlay with bufferedbitmaps

Former Member
Former Member

Hi,

Can't figure this out - it works fine on the simulator but not on the device. Very straightforward:

- in onUpdate(dc) load a bitmap with dc.drawBitmap
- then create a BufferedBitmap with a palette for a second bitmap
- load the second bitmap into the offscreen buffer
- map one of the palette entries to transparent
- draw the offscreen buffer to dc with drawBitmap

Works perfect on the simulator, the second bitmap shows the first through at the transparent spots. But on the device (Fenix 6x) the background is all black through the transparent parts.

I thought it might be a palette issue (the two images have different palettes), so I made the buffer with the all the colors for both images, no change. I can load the first bitmap with a buffer first as well, no effect. The first bitmap is displaying fine on the watch if I don't overly the partially transparent second image.

Again, all this works fine on the simulator, just not on the watch. Everything is up to date - are there any known graphics issues/limitations of the devices that are not present in the simulator? A memory issue maybe?

Thanks,

Mike

  • Former Member
    Former Member over 5 years ago

    Just in case others have a similar problem, I solved this by simply (a week later) changing my watch face! Seems the aftermarket dial I was using was incorrectly coded and messed up the palette somehow to cause this to happen. They have since updated the watch face and it doesn't do it any more. But one take away was the simulator did map the transparency of a downloaded GIF file to a different palette entry than the watch does, so something to look out for.