Browse Source

remove FreeImage

pull/1687/head
Anton Firszov 5 years ago
parent
commit
5a9826e858
  1. 1
      tests/Directory.Build.targets
  2. 4
      tests/ImageSharp.Benchmarks/ImageSharp.Benchmarks.csproj
  3. 11
      tests/ImageSharp.Benchmarks/LoadResizeSave/LoadResizeSaveStressBenchmarks.cs
  4. 18
      tests/ImageSharp.Benchmarks/LoadResizeSave/LoadResizeSaveStressRunner.cs
  5. 10
      tests/ImageSharp.Tests.ProfilingSandbox/LoadResizeSaveParallelMemoryStress.cs

1
tests/Directory.Build.targets

@ -30,7 +30,6 @@
<PackageReference Update="SharpZipLib" Version="1.3.0" /> <PackageReference Update="SharpZipLib" Version="1.3.0" />
<PackageReference Update="System.Drawing.Common" Version="4.7.0" /> <PackageReference Update="System.Drawing.Common" Version="4.7.0" />
<PackageReference Include="FreeImage.Standard" Version="4.3.8" />
<PackageReference Include="NetVips" Version="2.0.0" /> <PackageReference Include="NetVips" Version="2.0.0" />
<PackageReference Include="PhotoSauce.MagicScaler" Version="0.12.1" /> <PackageReference Include="PhotoSauce.MagicScaler" Version="0.12.1" />
<PackageReference Include="SkiaSharp" Version="2.80.3-preview.93" /> <PackageReference Include="SkiaSharp" Version="2.80.3-preview.93" />

4
tests/ImageSharp.Benchmarks/ImageSharp.Benchmarks.csproj

@ -41,10 +41,10 @@
<PackageReference Include="Pfim" /> <PackageReference Include="Pfim" />
<PackageReference Include="SharpZipLib" /> <PackageReference Include="SharpZipLib" />
<PackageReference Include="System.Drawing.Common" /> <PackageReference Include="System.Drawing.Common" />
<PackageReference Include="FreeImage.Standard" />
<PackageReference Include="NetVips" /> <PackageReference Include="NetVips" />
<PackageReference Include="PhotoSauce.MagicScaler" /> <PackageReference Include="PhotoSauce.MagicScaler" />
<!-- For some reason it was not enough to set the version in Directory.Build.targets,
removing SkiaSharp's Version will lead to a downgrade. -->
<PackageReference Include="SkiaSharp" Version="2.80.3-preview.93" /> <PackageReference Include="SkiaSharp" Version="2.80.3-preview.93" />
<PackageReference Include="NetVips.Native" /> <PackageReference Include="NetVips.Native" />
</ItemGroup> </ItemGroup>

11
tests/ImageSharp.Benchmarks/LoadResizeSave/LoadResizeSaveStressBenchmarks.cs

@ -2,9 +2,6 @@
// Licensed under the Apache License, Version 2.0. // Licensed under the Apache License, Version 2.0.
using System; using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using BenchmarkDotNet.Attributes; using BenchmarkDotNet.Attributes;
namespace SixLabors.ImageSharp.Benchmarks.LoadResizeSave namespace SixLabors.ImageSharp.Benchmarks.LoadResizeSave
@ -49,18 +46,10 @@ namespace SixLabors.ImageSharp.Benchmarks.LoadResizeSave
[ArgumentsSource(nameof(ParallelismValues))] [ArgumentsSource(nameof(ParallelismValues))]
public void Magick(int maxDegreeOfParallelism) => this.ForEachImage(this.runner.MagickResize, maxDegreeOfParallelism); public void Magick(int maxDegreeOfParallelism) => this.ForEachImage(this.runner.MagickResize, maxDegreeOfParallelism);
[Benchmark]
[ArgumentsSource(nameof(ParallelismValues))]
public void FreeImage(int maxDegreeOfParallelism) => this.ForEachImage(this.runner.FreeImageResize, maxDegreeOfParallelism);
[Benchmark] [Benchmark]
[ArgumentsSource(nameof(ParallelismValues))] [ArgumentsSource(nameof(ParallelismValues))]
public void MagicScaler(int maxDegreeOfParallelism) => this.ForEachImage(this.runner.MagicScalerResize, maxDegreeOfParallelism); public void MagicScaler(int maxDegreeOfParallelism) => this.ForEachImage(this.runner.MagicScalerResize, maxDegreeOfParallelism);
[Benchmark]
[ArgumentsSource(nameof(ParallelismValues))]
public void SkiaCanvas(int maxDegreeOfParallelism) => this.ForEachImage(this.runner.SkiaCanvasResize, maxDegreeOfParallelism);
[Benchmark] [Benchmark]
[ArgumentsSource(nameof(ParallelismValues))] [ArgumentsSource(nameof(ParallelismValues))]
public void SkiaBitmap(int maxDegreeOfParallelism) => this.ForEachImage(this.runner.SkiaBitmapResize, maxDegreeOfParallelism); public void SkiaBitmap(int maxDegreeOfParallelism) => this.ForEachImage(this.runner.SkiaBitmapResize, maxDegreeOfParallelism);

18
tests/ImageSharp.Benchmarks/LoadResizeSave/LoadResizeSaveStressRunner.cs

@ -9,7 +9,6 @@ using System.IO;
using System.Linq; using System.Linq;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Threading.Tasks; using System.Threading.Tasks;
using FreeImageAPI;
using ImageMagick; using ImageMagick;
using PhotoSauce.MagicScaler; using PhotoSauce.MagicScaler;
using SixLabors.ImageSharp.Formats.Jpeg; using SixLabors.ImageSharp.Formats.Jpeg;
@ -31,7 +30,6 @@ namespace SixLabors.ImageSharp.Benchmarks.LoadResizeSave
private const string SystemDrawing = nameof(SystemDrawing); private const string SystemDrawing = nameof(SystemDrawing);
private const string MagickNET = nameof(MagickNET); private const string MagickNET = nameof(MagickNET);
private const string NetVips = nameof(NetVips); private const string NetVips = nameof(NetVips);
private const string FreeImage = nameof(FreeImage);
private const string MagicScaler = nameof(MagicScaler); private const string MagicScaler = nameof(MagicScaler);
private const string SkiaSharpCanvas = nameof(SkiaSharpCanvas); private const string SkiaSharpCanvas = nameof(SkiaSharpCanvas);
private const string SkiaSharpBitmap = nameof(SkiaSharpBitmap); private const string SkiaSharpBitmap = nameof(SkiaSharpBitmap);
@ -167,22 +165,6 @@ namespace SixLabors.ImageSharp.Benchmarks.LoadResizeSave
image.Write(this.OutputPath(input, MagickNET)); image.Write(this.OutputPath(input, MagickNET));
} }
public void FreeImageResize(string input)
{
using var original = FreeImageBitmap.FromFile(input);
this.IncreaseTotalMegapixels(original.Width, original.Height);
(int width, int height) scaled = this.ScaledSize(original.Width, original.Height, ThumbnailSize);
var resized = new FreeImageBitmap(original, scaled.width, scaled.height);
// JPEG_QUALITYGOOD is 75 JPEG.
// JPEG_BASELINE strips metadata (EXIF, etc.)
resized.Save(
this.OutputPath(input, FreeImage),
FREE_IMAGE_FORMAT.FIF_JPEG,
FREE_IMAGE_SAVE_FLAGS.JPEG_QUALITYGOOD | FREE_IMAGE_SAVE_FLAGS.JPEG_BASELINE);
}
public void MagicScalerResize(string input) public void MagicScalerResize(string input)
{ {
var settings = new ProcessImageSettings() var settings = new ProcessImageSettings()

10
tests/ImageSharp.Tests.ProfilingSandbox/LoadResizeSaveParallelMemoryStress.cs

@ -32,7 +32,6 @@ namespace SixLabors.ImageSharp.Tests.ProfilingSandbox
4. SkiaSharp 4. SkiaSharp
5. NetVips 5. NetVips
6. ImageMagick 6. ImageMagick
7. FreeImage
"); ");
ConsoleKey key = Console.ReadKey().Key; ConsoleKey key = Console.ReadKey().Key;
@ -63,7 +62,7 @@ namespace SixLabors.ImageSharp.Tests.ProfilingSandbox
lrs.MagicScalerBenchmarkParallel(); lrs.MagicScalerBenchmarkParallel();
break; break;
case ConsoleKey.D4: case ConsoleKey.D4:
lrs.SkiaCanvasBenchmarkParallel(); lrs.SkiaBitmapBenchmarkParallel();
break; break;
case ConsoleKey.D5: case ConsoleKey.D5:
lrs.NetVipsBenchmarkParallel(); lrs.NetVipsBenchmarkParallel();
@ -71,9 +70,6 @@ namespace SixLabors.ImageSharp.Tests.ProfilingSandbox
case ConsoleKey.D6: case ConsoleKey.D6:
lrs.MagickBenchmarkParallel(); lrs.MagickBenchmarkParallel();
break; break;
case ConsoleKey.D7:
lrs.FreeImageBenchmarkParallel();
break;
} }
timer.Stop(); timer.Stop();
@ -127,12 +123,8 @@ namespace SixLabors.ImageSharp.Tests.ProfilingSandbox
private void MagickBenchmarkParallel() => this.ForEachImage(this.benchmarks.MagickResize); private void MagickBenchmarkParallel() => this.ForEachImage(this.benchmarks.MagickResize);
private void FreeImageBenchmarkParallel() => this.ForEachImage(this.benchmarks.FreeImageResize);
private void MagicScalerBenchmarkParallel() => this.ForEachImage(this.benchmarks.MagicScalerResize); private void MagicScalerBenchmarkParallel() => this.ForEachImage(this.benchmarks.MagicScalerResize);
private void SkiaCanvasBenchmarkParallel() => this.ForEachImage(this.benchmarks.SkiaCanvasResize);
private void SkiaBitmapBenchmarkParallel() => this.ForEachImage(this.benchmarks.SkiaBitmapResize); private void SkiaBitmapBenchmarkParallel() => this.ForEachImage(this.benchmarks.SkiaBitmapResize);
private void NetVipsBenchmarkParallel() => this.ForEachImage(this.benchmarks.NetVipsResize); private void NetVipsBenchmarkParallel() => this.ForEachImage(this.benchmarks.NetVipsResize);

Loading…
Cancel
Save