From 3955f886f24658e5fa725f802346128fae7b3af4 Mon Sep 17 00:00:00 2001 From: X39 Date: Thu, 31 Oct 2024 03:15:59 +0100 Subject: [PATCH] Fix bitmaps being created transparent and update ReadMe This update fixes the ReadMe TOC (was not updated after the last change) and, additionally, fixes a debug artifact i introduced by accident (canvas.Clear(Transparent)), which resulted in working PDFs but for BitMaps generated to have a transparent background. The Fix should have been up already, but apparently I forgot to push this. Sorry for the inconvenience. --- .github/workflows/main.yml | 2 +- README.md | 2 +- .../Canvas/ImmediateCanvasImpl.cs | 1 - .../Samples/ReadMeSample.cs | 16 +++++++++++++++- 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f75095f..a7df7ba 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -25,6 +25,6 @@ jobs: - name: Pack # CHANGE PACKAGE VERSION - The retarded way # Change the /p:VERSION=X.X.X part to change the actual package version. - run: dotnet pack --configuration Release /p:VERSION=5.1.0.${{ github.run_number }} --version-suffix ${{ github.sha }} + run: dotnet pack --configuration Release /p:VERSION=5.1.1.${{ github.run_number }} --version-suffix ${{ github.sha }} - name: Upload to NuGet run: dotnet nuget push ./source/X39.Solutions.PdfTemplate/bin/Release/X39.Solutions.PdfTemplate.*.nupkg -s https://api.nuget.org/v3/index.json -k ${{ secrets.NUGET_API_KEY }} diff --git a/README.md b/README.md index 750170a..335d5d0 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ Use [GitHub](https://github.com/X39/X39.Solutions.PdfTemplate) for best reading * [Semantic Versioning](#semantic-versioning) * [Getting Started](#getting-started) * [Template structure](#template-structure) + * [About `areas`](#about-areas) * [Integration](#integration) * [Functions](#functions) * [Variables](#variables) @@ -28,7 +29,6 @@ Use [GitHub](https://github.com/X39/X39.Solutions.PdfTemplate) for best reading * [`th`](#th) * [`tr`](#tr) * [`td`](#td) - * [`area`](#area) * [Transformers](#transformers) * [Creating your own transformer](#creating-your-own-transformer) * [Evaluating user data](#evaluating-user-data) diff --git a/source/X39.Solutions.PdfTemplate/Canvas/ImmediateCanvasImpl.cs b/source/X39.Solutions.PdfTemplate/Canvas/ImmediateCanvasImpl.cs index d937889..837cab6 100644 --- a/source/X39.Solutions.PdfTemplate/Canvas/ImmediateCanvasImpl.cs +++ b/source/X39.Solutions.PdfTemplate/Canvas/ImmediateCanvasImpl.cs @@ -14,7 +14,6 @@ public ImmediateCanvasImpl(SKCanvas canvas, SkPaintCache paintCache) { _canvas = canvas; _paintCache = paintCache; - _canvas.Clear(); } public void PushState() diff --git a/test/X39.Solutions.PdfTemplate.Test/Samples/ReadMeSample.cs b/test/X39.Solutions.PdfTemplate.Test/Samples/ReadMeSample.cs index 72b27be..27f2040 100644 --- a/test/X39.Solutions.PdfTemplate.Test/Samples/ReadMeSample.cs +++ b/test/X39.Solutions.PdfTemplate.Test/Samples/ReadMeSample.cs @@ -3,6 +3,7 @@ using System.Xml; using SkiaSharp; using X39.Solutions.PdfTemplate.Data; +using X39.Util.Collections; namespace X39.Solutions.PdfTemplate.Test.Samples; @@ -184,6 +185,19 @@ @alternate on value { // { // bitmaps.First().Encode(fstream, SKEncodedImageFormat.Png, 100); // } - await generator.GeneratePdfAsync(pdfStream, xmlReader, CultureInfo.InvariantCulture, docOptions); + // await generator.GeneratePdfAsync(pdfStream, xmlReader, CultureInfo.InvariantCulture, docOptions); + var results = await generator.GenerateBitmapsAsync(xmlReader, CultureInfo.InvariantCulture, docOptions); + foreach (var (skBitmap, index) in results.Indexed()) + using (skBitmap) + { + using var image = SKImage.FromBitmap(skBitmap); + using var data = image.Encode(SKEncodedImageFormat.Png, 100); + await using var fstream = new FileStream( + Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), $"{index}.png"), + FileMode.Create, + FileAccess.Write + ); + data.SaveTo(fstream); + } } }