0

次のコードがあります:

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

では、問題はどこにあるのでしょうか。

4

1 に答える 1

0

キャンバスのサイズを指定する必要があります。そうしないと、デフォルトの幅と高さが 0 になり、透明な WriteableBitmap になります。

bmp.Render(new Canvas() { Background = new SolidColorBrush(Colors.White), Width=(int)size.Height, Height=(int)size.Height }, null);
于 2013-02-25T11:35:44.560 に答える