我有一个内容控件,当我试图保存该图像时会得到一个黑色图像。我错过了什么。
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();
答案 0 :(得分:1)
当您尝试渲染ContentControl时,看起来还没有布局。
尝试在其上调用UpdateLayout()。
如果没有这个诀窍,请尝试在渲染之前先调用Measure(),然后再调整() -
答案 1 :(得分: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;
}
}