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); }
/// <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); } }