diff --git a/CI/job_templates/test_drawing_libraries.yml b/CI/job_templates/test_drawing_libraries.yml index ac8c71e..d6a6b42 100644 --- a/CI/job_templates/test_drawing_libraries.yml +++ b/CI/job_templates/test_drawing_libraries.yml @@ -20,6 +20,14 @@ jobs: buildType: 'current' artifactName: 'IronDrawingDataTests' targetPath: '$(Agent.BuildDirectory)/Data' + - ${{ if or(eq(parameters.OSPlatform, 'Ubuntu'), eq(parameters.OSPlatform, 'Linux')) }}: + - task: Bash@3 + displayName: 'Install GDI+ dependencies' + inputs: + targetType: 'inline' + script: | + sudo apt-get update + sudo apt-get install -y libgdiplus libc6-dev - ${{ if eq(parameters.framework, 'netcoreapp3.1') }}: - task: UseDotNet@2 displayName: 'Install .Netcoreapp3.1 Core sdk' diff --git a/IronSoftware.Drawing/IronSoftware.Drawing.Common/AnyBitmap.cs b/IronSoftware.Drawing/IronSoftware.Drawing.Common/AnyBitmap.cs index 94503d4..bb8e1fe 100644 --- a/IronSoftware.Drawing/IronSoftware.Drawing.Common/AnyBitmap.cs +++ b/IronSoftware.Drawing/IronSoftware.Drawing.Common/AnyBitmap.cs @@ -2233,6 +2233,21 @@ private static SKBitmap OpenTiffToSKBitmap(AnyBitmap anyBitmap) } } + /// + /// Disable warning message written to console by BitMiracle.LibTiff.NET. + /// + private class DisableErrorHandler : TiffErrorHandler + { + public override void WarningHandler(Tiff tif, string method, string format, params object[] args) + { + // do nothing, ie, do not write warnings to console + } + public override void WarningHandlerExt(Tiff tif, object clientData, string method, string format, params object[] args) + { + // do nothing ie, do not write warnings to console + } + } + private void OpenTiffToImageSharp(ReadOnlySpan bytes) { try @@ -2246,6 +2261,9 @@ private void OpenTiffToImageSharp(ReadOnlySpan bytes) // create a memory stream out of them using MemoryStream tiffStream = new(bytes.ToArray()); + // Disable warning messages + Tiff.SetErrorHandler(new DisableErrorHandler()); + // open a TIFF stored in the stream using (Tiff tiff = Tiff.ClientOpen("in-memory", "r", tiffStream, new TiffStream())) { diff --git a/IronSoftware.Drawing/IronSoftware.Drawing.Common/IronSoftware.Drawing.Common.csproj b/IronSoftware.Drawing/IronSoftware.Drawing.Common/IronSoftware.Drawing.Common.csproj index af58cb4..ec774df 100644 --- a/IronSoftware.Drawing/IronSoftware.Drawing.Common/IronSoftware.Drawing.Common.csproj +++ b/IronSoftware.Drawing/IronSoftware.Drawing.Common/IronSoftware.Drawing.Common.csproj @@ -1,4 +1,4 @@ - + IronSoftware.Drawing.Common.snk @@ -25,7 +25,7 @@ - + diff --git a/NuGet/IronSoftware.Drawing.nuspec b/NuGet/IronSoftware.Drawing.nuspec index 730882b..2a28cbb 100644 --- a/NuGet/IronSoftware.Drawing.nuspec +++ b/NuGet/IronSoftware.Drawing.nuspec @@ -39,21 +39,21 @@ Supports: For general support and technical inquiries, please email us at: support@ironsoftware.com IronSoftware.System.Drawing is an open-source solution for .NET developers to replace System.Drawing.Common with a universal and flexible library. - - Fixes incorrect HorizontalResolution and VerticalResolution of AnyBitmap images. - - Improves library's internal functionality and performance. + - Updates internal dependencies. + - Disable warning messages from BitMiracle.LibTiff.NET. Copyright © Iron Software 2022-2025 Images, Bitmap, SkiaSharp, SixLabors, BitMiracle, Maui, SVG, TIFF, TIF, GIF, JPEG, PNG, Color, Rectangle, Drawing, C#, VB.NET, ASPX, create, render, generate, standard, netstandard2.0, core, netcore - + - +