Пример #1
0
 public void DrawTo(IntPtr hdc)
 {
     if (!this.DesignMode)
     {
         if (window != null)
         {
             GdiGraphicsWrapper  gw = GdiGraphicsWrapper.FromHdc(hdc, true);
             GdiGraphicsRenderer r  = ((GdiGraphicsRenderer)window.Renderer);
             gw.Clear(r.BackColor);
             r.GraphicsWrapper = gw;
             window.Renderer.Render((SvgDocument)window.Document);
             r.GraphicsWrapper = null;
             gw.Dispose();
         }
     }
 }
Пример #2
0
        public bool LoadDocument(string documentFilePath, SvgTestInfo testInfo, object extraInfo)
        {
            this.UnloadDocument();

            if (extraInfo == null)
            {
                return(false);
            }
            if (string.IsNullOrWhiteSpace(documentFilePath) || File.Exists(documentFilePath) == false)
            {
                return(false);
            }

            var pngFilePath = extraInfo.ToString();

            if (string.IsNullOrWhiteSpace(pngFilePath) || File.Exists(pngFilePath) == false)
            {
                return(false);
            }

            Image pngImage = null;

            try
            {
                pngImage = Image.FromFile(pngFilePath);
                if (pngImage == null)
                {
                    return(false);
                }
                viewerExpected.Image  = pngImage;
                viewerExpected.Width  = pngImage.Width + 10;
                viewerExpected.Height = pngImage.Height + 10;
            }
            catch (Exception ex)
            {
                Trace.TraceError(ex.ToString());

                return(false);
            }

            try
            {
                _svgWindow        = new SvgPictureBoxWindow(pngImage.Width, pngImage.Height, _svgRenderer);
                _svgWindow.Source = documentFilePath;

                var svgImage = new Bitmap(pngImage.Width, pngImage.Height);

                using (var graWrapper = GdiGraphicsWrapper.FromImage(svgImage, true))
                {
                    _svgRenderer.GraphicsWrapper = graWrapper;
                    _svgRenderer.Render(_svgWindow.Document);
                    _svgRenderer.GraphicsWrapper = null;
                }

                viewerConverted.Image  = svgImage;
                viewerConverted.Width  = svgImage.Width + 10;
                viewerConverted.Height = svgImage.Height + 10;
            }
            catch (Exception ex)
            {
                Trace.TraceError(ex.ToString());

                return(false);
            }

            return(true);
        }