diff --git a/Source/QuestPDF.UnitTests/DynamicImageTests.cs b/Source/QuestPDF.UnitTests/DynamicImageTests.cs index e1bfbe5..6b4dd95 100644 --- a/Source/QuestPDF.UnitTests/DynamicImageTests.cs +++ b/Source/QuestPDF.UnitTests/DynamicImageTests.cs @@ -17,6 +17,8 @@ namespace QuestPDF.UnitTests TestPlan .For(x => new DynamicImage { + TargetDpi = DocumentSettings.DefaultRasterDpi, + CompressionQuality = ImageCompressionQuality.High, Source = GenerateImage }) .MeasureElement(new Size(300, 200)) @@ -29,6 +31,8 @@ namespace QuestPDF.UnitTests TestPlan .For(x => new DynamicImage { + TargetDpi = DocumentSettings.DefaultRasterDpi, + CompressionQuality = ImageCompressionQuality.High, Source = size => null }) .DrawElement(new Size(300, 200)) @@ -41,6 +45,8 @@ namespace QuestPDF.UnitTests TestPlan .For(x => new DynamicImage { + TargetDpi = DocumentSettings.DefaultRasterDpi, + CompressionQuality = ImageCompressionQuality.High, Source = GenerateImage }) .DrawElement(new Size(300, 200)) @@ -56,6 +62,8 @@ namespace QuestPDF.UnitTests TestPlan .For(x => new DynamicImage { + TargetDpi = DocumentSettings.DefaultRasterDpi * 3, + CompressionQuality = ImageCompressionQuality.High, Source = size => { passedSize = size; @@ -66,7 +74,8 @@ namespace QuestPDF.UnitTests .ExpectCanvasDrawImage(Position.Zero, new Size(400, 300)) .CheckDrawResult(); - passedSize.Should().BeEquivalentTo(new Size(400, 300)); + passedSize.Width.Should().Be(1200); + passedSize.Height.Should().Be(900); } byte[] GenerateImage(ImageSize size) diff --git a/Source/QuestPDF.UnitTests/ImageTests.cs b/Source/QuestPDF.UnitTests/ImageTests.cs index d50902a..77abaa6 100644 --- a/Source/QuestPDF.UnitTests/ImageTests.cs +++ b/Source/QuestPDF.UnitTests/ImageTests.cs @@ -37,6 +37,8 @@ namespace QuestPDF.UnitTests TestPlan .For(x => new ImageElement { + CompressionQuality = ImageCompressionQuality.High, + TargetDpi = DocumentSettings.DefaultRasterDpi, DocumentImage = GenerateDocumentImage(400, 300) }) .DrawElement(new Size(300, 200)) @@ -47,7 +49,7 @@ namespace QuestPDF.UnitTests [Test] public void Fluent_RecognizesImageProportions() { - var image = GenerateSkiaImage(600, 200).Encode(SKEncodedImageFormat.Png, 100).ToArray(); + var image = GenerateDocumentImage(600, 200); TestPlan .For(x => @@ -107,18 +109,11 @@ namespace QuestPDF.UnitTests .GeneratePdf() .Length; } - - SKImage GenerateSkiaImage(int width, int height) - { - var imageInfo = new SKImageInfo(width, height); - using var surface = SKSurface.Create(imageInfo); - return surface.Snapshot(); - } - + DocumentImage GenerateDocumentImage(int width, int height) { - var skiaImage = GenerateSkiaImage(width, height); - return DocumentImage.FromSkImage(skiaImage); + var image = Placeholders.Image(width, height); + return DocumentImage.FromBinaryData(image); } } } \ No newline at end of file diff --git a/Source/QuestPDF.UnitTests/TestEngine/TestPlan.cs b/Source/QuestPDF.UnitTests/TestEngine/TestPlan.cs index b43e5a7..f4a4086 100644 --- a/Source/QuestPDF.UnitTests/TestEngine/TestPlan.cs +++ b/Source/QuestPDF.UnitTests/TestEngine/TestPlan.cs @@ -237,6 +237,8 @@ namespace QuestPDF.UnitTests.TestEngine Child = new DynamicImage { + CompressionQuality = ImageCompressionQuality.Medium, + TargetDpi = DocumentSettings.DefaultRasterDpi, Source = Placeholders.Image } }; diff --git a/Source/QuestPDF/Drawing/DocumentGenerator.cs b/Source/QuestPDF/Drawing/DocumentGenerator.cs index 3f25d0e..0dd2899 100644 --- a/Source/QuestPDF/Drawing/DocumentGenerator.cs +++ b/Source/QuestPDF/Drawing/DocumentGenerator.cs @@ -249,6 +249,14 @@ namespace QuestPDF.Drawing dynamicHost.ImageTargetDpi ??= imageRasterDpi; dynamicHost.ImageCompressionQuality ??= imageCompressionQuality; } + + if (x is TextBlock textBlock) + { + foreach (var textBlockElement in textBlock.Items.OfType()) + { + textBlockElement.Element.ApplyDefaultImageConfiguration(settings); + } + } }); }