如何将未呈现的WPF控件保存到图片

SaveFileDialog save = new SaveFileDialog();
save.Filter = "BMP|*.bmp|PNG|*.png|JPG|*.jpg";
if (save.ShowDialog().Value)
{
    string fileName = save.FileName;
    Uctrl_LT_SubPallet subar = new Uctrl_LT_SubPallet();
    subar.Width = 267;
    subar.Height = 187;
    subar.Margin = new Thickness(0);
    subar.UpdateLayout();
    subar.Arrange(new Rect(0, 0, subar.Width, subar.Height));//这两句任意顺序不过要一起才能生效
    FileStream fs = new FileStream(fileName, FileMode.Create);

    RenderTargetBitmap bmp = new RenderTargetBitmap((int)subar.Width,  //ic是控件的名字
                (int)subar.Height, 1 / 96, 1 / 96, PixelFormats.Pbgra32);
    bmp.Render(subar);
    BitmapEncoder encoder = new TiffBitmapEncoder();
    encoder.Frames.Add(BitmapFrame.Create(bmp));
    encoder.Save(fs);
    fs.Close();
}

 

如何将未呈现的WPF控件保存到图片

上一篇:c# 设计模式 之:模板方法(转)


下一篇:Windows下Kafka单机服务搭建