如何在Mango中为Live tile设置WriteableBitmap背面颜色?

时间:2011-11-08 00:32:23

标签: windows-phone-7 live-tile

我正在尝试动态构建实时图块。 由于一些SO建议,它运行良好,我有这个代码:

WriteableBitmap wbmp = new WriteableBitmap(173, 173);


TextBlock text = new TextBlock() { FontSize = (double)Resources["PhoneFontSizeLarge"], Foreground = new SolidColorBrush(Colors.White) };

text.Text = "my text";
wbmp.Render(text, new TranslateTransform() { Y = 20 });
wbmp.Invalidate();

// save image to isolated storage
using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
{
     using (IsolatedStorageFileStream imageStream = new IsolatedStorageFileStream("/Shared/ShellContent/MyImage.jpg", System.IO.FileMode.Create, isf))
            {

                wbmp.SaveJpeg(imageStream, wbmp.PixelWidth, wbmp.PixelHeight, 0, 100);
            }
}

问题在于瓷砖具有黑色(或更好,透明)的背景。我想使用重点背景色,我该怎么办?

2 个答案:

答案 0 :(得分:1)

以这种方式解决:

Canvas can = new Canvas();
can.Background = (SolidColorBrush)Application.Current.Resources["PhoneAccentBrush"];
can.Width = 173;
can.Height = 173;

wbmp.Render(can, null);

答案 1 :(得分:0)

您最好使用Resources [“TransparentBrush”]作为背景,然后保存到png,否则,您的图块将在主题更改时显示错误的颜色。