2015-03-17 7 views
0

У меня есть элемент управления содержимым, у которого есть изображение внутри, когда я пытаюсь сохранить это изображение, получая черное изображение. Что мне не хватает.Сохранить изображение, которое находится внутри элемента управления содержимым

RenderTargetBitmap rtb = new RenderTargetBitmap((int)content1.ActualWidth, (int)content1.ActualHeight, 96, 96, PixelFormats.Pbgra32); 
      rtb.Render(content1); 

      PngBitmapEncoder pnge = new PngBitmapEncoder(); 
      pnge.Frames.Add(BitmapFrame.Create(rtb)); 
      Stream stream = File.Create(DriveName + ":/OpenCV/Images/UI/LeftEdge.png"); 
      pnge.Save(stream); 
      stream.Close(); 

ответ

1

Похоже, что ваш ContentControl не был составлен при попытке его визуализации.

Попробуйте вызвать UpdateLayout() на нем.

Если это не делает трюк, попробуйте сначала вызвать Measure(), чем Arrange() - также перед рендерингом.

1

Вы пробовали что-то вроде этого:

if (control.Type == WdContentControlType.wdContentControlPicture) 
{ 
    if (control.Range.InlineShapes.Count != 0) 
    { 
     // Clear previous shapes 
     foreach (InlineShape shape in control.Range.InlineShapes) 
     { 
      if (shape.Type == WdInlineShapeType.wdInlineShapePicture) 
      { 
       shape.Delete(); 
      } 
     } 

     // Add new shape 
     InlineShape img = control.Range.InlineShapes.AddPicture (valueToSet, false, true); 
     img.Width = 90; 
     img.Height = 90; 
    } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^