我有下一个代码:
var bmp = new WriteableBitmap((int)size.Width, (int)size.Height);
bmp.Render(new Canvas(){Background = new SolidColorBrush(Colors.White)}, null);
bmp.Invalidate();
return bmp;
我如何获得颜色:
var backColor = Application.Current.Resources["PhoneBackgroundColor"].ToString();
var foreColor = Application.Current.Resources["PhoneForegroundColor"].ToString();
我需要渲染白色背景的图像。但是这段代码总是呈现黑背图像。前景还可以,我已经测试了下一个结构:
Canvas
Textblock - with black foreground
Textblock - with black foreground
问题出在哪里?
答案 0 :(得分:0)
您需要指定画布的大小,否则它的默认宽度和高度为0,从而产生透明的WriteableBitmap。
bmp.Render(new Canvas() { Background = new SolidColorBrush(Colors.White), Width=(int)size.Height, Height=(int)size.Height }, null);