The documentation for WritableBitmap.Pixels states that "the format used in Silverlight's WriteableBitmap is ARGB32 (pre-multiplied RGB)." Perhaps then live fragments expect a non-multiplex pixel format.
I could not find any API in Silverlight to change the format, but I think the method in this article might be what you need:
http://nokola.com/blog/post/2010/01/27/The-Most-Important-Silverlight-WriteableBitmap-Gotcha-Does-It-LoseChange-Colors.aspx
Edit:
From my testing, the problem seems to be related to JPEG compression artifacts, since SaveJpeg saves files in JPEG format, even if you name them extension .png.
The code example below has a programmed call to MakeNonPremultiplied (bitmap.Pixels) that shows how you could call a filter to change the pixel format to unperturbed multiplication if you used some library to save it in a file format that works with transparencies and expects a non-multiplex format.
using System; using System.IO; using System.IO.IsolatedStorage; using System.Linq; using System.Windows; using System.Windows.Media.Imaging; using Microsoft.Phone.Shell; namespace LiveTilePlayground { public partial class LiveTileGenerator {
source share