xiaokang088
 Stream GetImageFromControl(Control control)
        {
            MemoryStream ms = null;

            DrawingVisual drawingVisual = new DrawingVisual();
            using (DrawingContext context = drawingVisual.RenderOpen())
            {
                VisualBrush brush = new VisualBrush(gd) { Stretch = Stretch.None };
                context.DrawRectangle(brush, null, new Rect(0, 0, gd.Width, gd.Height));
                context.Close();
            }

            //dpi可以自己设定   // 获取dpi方法:PresentationSource.FromVisual(this).CompositionTarget.TransformToDevice
            RenderTargetBitmap bitmap = new RenderTargetBitmap((int)gd.Width, (int)gd.Height, 96, 96, PixelFormats.Pbgra32);
            bitmap.Render(drawingVisual);

            PngBitmapEncoder encode = new PngBitmapEncoder();
            encode.Frames.Add(BitmapFrame.Create(bitmap));
            ms = new MemoryStream();
            encode.Save(ms);

            return ms;
        }

分类:

技术点:

相关文章:

  • 2021-12-26
  • 2021-09-18
  • 2021-09-05
  • 2022-12-23
  • 2022-12-23
  • 2022-02-01
  • 2021-09-24
  • 2021-11-06
猜你喜欢
  • 2022-01-02
  • 2021-09-27
  • 2021-08-02
  • 2021-12-18
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案