using System.IO; using Rozpisky.Dxf; using SkiaSharp; using Xunit; namespace Rozpisky.Tests; /// /// Vyrenderuje všech 9 log do PNG – vizuální porovnání před/po změnách parseru /// (uživatel nemá screenshoty aplikace, výstupní soubory ano). Cílová složka /// z env proměnné ROZPISKY_PNG_OUT, jinak %TEMP%\rozpisky-loga-png. /// public class PngHarness { [Fact] public void VyrenderujVsechnaLogaDoPng() { string outDir = Environment.GetEnvironmentVariable("ROZPISKY_PNG_OUT") ?? Path.Combine(Path.GetTempPath(), "rozpisky-loga-png"); Directory.CreateDirectory(outDir); const int W = 900, H = 600; foreach (var name in TestData.VsechnaLoga) { var tpl = new DxfTemplate(TestData.Logo(name)); using var bmp = new SKBitmap(W, H); using var canvas = new SKCanvas(bmp); Exporters.RenderView(canvas, W, H, g => tpl.Replay(g), tpl.FrameBounds ?? tpl.Bounds, zoom: 1, panXpx: 0, panYpx: 0); using var img = SKImage.FromBitmap(bmp); using var data = img.Encode(SKEncodedImageFormat.Png, 100); using var fs = File.Create(Path.Combine(outDir, Path.ChangeExtension(name, ".png"))); data.SaveTo(fs); } } }