Resizes a JPEG image file to optimize size on Disk while preserving image quality. It also generates thumbnail images of the given files [this is optional].
$ dotnet add package Pistitium.JpegFileSizerPistitium.JpegFileSizer provides a class to resize a JPEG image file to optimize size on disk while preserving image quality.
Install via Visual Studio Manage Nuget Packages... or download:
https://www.nuget.org/packages/Pistitium.JpegFileSizer
.NET CLI
> dotnet add package Pistitium.JpegFileSizer --version 1.0.X
using Pistitium.Framework.ImageAndGraphics;
namespace Pistitiumizer.Tester
{
public class JpegFileSizerTester
{
// This event handler creates a thread that calls a
// Windows Forms control in a thread-safe way.
private static void OnJpegFileResizerBroadcastStatus(string msg)
{
Console.WriteLine(msg);
}
// This event handler creates a thread that calls a
// Windows Forms control in a thread-safe way.
private static void OnJpegFileResizerBroadcastResult(JpegFileResizer.ResultCode code)
{
Console.WriteLine(code.ToString());
}
public void Run()
{
Console.WriteLine("Inside JpegFileSizerTester.Run()");
Console.WriteLine();
string workingPath = "D:\\Pictures\\2018-04";
bool createThumbnails = true;
JpegFileResizer.BroadcastStatus += new JpegFileResizer.StatusNotification(OnJpegFileResizerBroadcastStatus);
JpegFileResizer.BroadcastResult += new JpegFileResizer.ResultNotification(OnJpegFileResizerBroadcastResult);
Console.WriteLine(string.Format("Resizing Files in Folder: {0}", workingPath));
try
{
// output directory will be created as "Resized" under the working path
JpegFileResizer.ResizeImages(workingPath, createThumbnails);
// You can also specify the output path
JpegFileResizer.ResizeImages(workingPath, outputPath, createThumbnails);
// You can just create thumbnail images
// output directory will be created as "Thumbnails" under the working path
JpegFileResizer.CreateThumbnails(workingPath);
// or
JpegFileResizer.CreateThumbnails(workingPath, outputPath);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
}
}