2014-02-05 6 views
0

Я пытаюсь отобразить некоторые элементы на записываемом растровом изображении. Он работает при рендеринге текстового блока, но не что-то еще, например, прямоугольник. Почему так?wp8 writeablebitmap не отображает

void bm_ImageOpened(object sender, RoutedEventArgs e) 
{ 
     WriteableBitmap wbm = new WriteableBitmap((BitmapImage)sender); 

     TextBlock tb = new TextBlock(); 
     tb.FontSize = 40; 
     tb.Text = "text"; 

     Rectangle rt = new Rectangle(); 
     rt.Width = 50; 
     rt.Width = 30; 
     rt.Fill = new SolidColorBrush(Colors.Red); 

     TranslateTransform tf = new TranslateTransform(); 
     tf.X = 100; 
     tf.Y = 100; 
     wbm.Render(tb, tf); //this works 
     wbm.Render(rt, tf); //this not 

     wbmi.Invalidate(); 
} 

ответ

1

Вы пытаетесь вынести Rectangle с Height = 0 - Вы определили ее ширину в два раза.

Я предполагаю, что это должно выглядеть следующим образом:

rt.Width = 50; 
rt.Height = 30; 
Смежные вопросы