示例#1
0
        public TestRenderer(int surfaceWidth, int surfaceHeight)
        {
            bitmap = new SKBitmap(surfaceWidth, surfaceHeight);
            canvas = new SKCanvas(bitmap);

            renderer = new SkiaRenderer
            {
            };
            drawingSurface = new SkiaDrawingSurface
            {
                Width  = surfaceWidth,
                Height = surfaceHeight,
                Canvas = canvas,
            };
            theme = new SkiaTheme
            {
                Background = SKColors.White,
                Foreground = SKColors.Black,
            };
            viewport = new SkiaViewport
            {
                CellSize = 3,
            };

            renderer.UpdateTheme(theme);
            renderer.SetViewport(viewport);
        }
示例#2
0
        /// <inheritdoc/>
        void IFileWriter.Save(string path, object item, object options)
        {
            if (string.IsNullOrEmpty(path) || item == null)
            {
                return;
            }

            var ic = options as IImageCache;

            if (options == null)
            {
                return;
            }

            IProjectExporter exporter = new SkiaRenderer();

            ShapeRenderer renderer = (ShapeRenderer)exporter;

            renderer.State.DrawShapeState.Flags = ShapeStateFlags.Printable;
            renderer.State.ImageCache           = ic;

            if (item is XContainer)
            {
                exporter.Save(path, item as XContainer);
            }
            else if (item is XDocument)
            {
                exporter.Save(path, item as XDocument);
            }
            else if (item is XProject)
            {
                exporter.Save(path, item as XProject);
            }
        }