Complete
over 4 years ago

WERETECH-9676

Working as expected. 

Venu image import distorts BOTH in simulator and on device.

I am trying to use a simple, full screen image for my Venu watch face.

The image is a simple pair of circles:

Simple background for Venu

What I see in the simulator (I haven't got a watch to verify it) is this:

Venu image bug

As you can see, the bottom right of the circles have been... well... messed up horribly ... with pixels merged, moved, lost and generally discombobulated.

I haven't yet verified if this happens on the device (as I don't have one).

G

  • Long story...

    The venu device does indeed support 16-bit color, which doesn't normally use dithering. Unfortunately the venu has such a large screen, a full-screen bitmap without any transparency requires 304KB of memory, even if you only use a few colors. Someone decided that it would be a good idea to automatically reduce the number of colors in the image when compiling.. to reduce the required memory. A full-screen image with 4 or less colors would take 38KB. But once you reduce an image down to a smaller color set, you often need to apply dithering to keep it looking decent.

    If you don't mind using all of the memory on the image, you can set automaticPalette="false" in the bitmap element in your resource file. As you've discovered, you can set dithering="none" to disable dithering, and you can explicitly set a color palette using the <palette /> element.

  • You’re right, a very good article. 

    One question is why dithering even affects Venu with a range of colours that should be able to handle pure red, green, blue. So error should consistently be zero. 

    I’m guessing dithering goes to a much smaller range of colours than Venu supports?

  • This is indeed an artifact of the dithering algorithm that we are using (Floyd-Steinberg). You can avoid this by disabling dithering. Of course we could provide a few more options for dithering algorithms.

    This is an interesting article describing several different dithering techniques:

    tannerhelland.com/.../dithering-eleven-algorithms-source-code.html

  • Hi, a ticket has been created and we are looking into this. Thumbsup

  • OK, it looks like this is specifically a bug with dithering.

    If I set dithering="none" in the resource file, the bug disappears.