Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/meineglock20/simpleimageresizer

Simple, fast, and free image converter and resizer. Supports BMP, GIF, JFIF, JPG, PNB, and TIFF images.
https://github.com/meineglock20/simpleimageresizer

csharp image-processing image-resizer mvvm wpf

Last synced: 3 days ago
JSON representation

Simple, fast, and free image converter and resizer. Supports BMP, GIF, JFIF, JPG, PNB, and TIFF images.

Awesome Lists containing this project

README

        

# Simple Image Resizer

**Simple, fast, and free!**

Resize and convert images between these supported formats: BMP, GIF, JFIF, JPG, PNG, and TIFF.

Resizes images natively with WPF. No other libraries are used.

Three methods are availble; select your images, drag and drop your images, or batch an entire directory structure.

Simple mode allows quick resizing to small, medium, or large and outputs as the same image format.

Advanced output mode allows a choice of resizing by percentage, absolute, or aspect ratio. JPG quality can be adjusted. Can output to any other supported format.

Originally created in 2008 as a windows forms app for the .NET framework. The latest verion (5.0.1) is a WPF app running on .NET 7.

For those new to WPF and C#, this small application demonstrates alot of the common functionality you might need to implement in an application.
- How to draw on a WPF element.
- How to resize and save images as any supported format using pure WPF. (Not System.Drawing GDI+).
-- BMP, GIF, JFIF, JPG, PNG, and TIFF.
- How to implement a Browse folder dialog.
-- Requires a reference to Shell32.dll.
- How to implement a custom Message Box and call as a service.
- How to handle UI drag and drop operations with MVVM.
- How to implement MVVM Commands, NotifyDataErrorInfo, and NotifyPropertyChanged without using a third-party framework.
- How to run a Command Async.
- How to run a Task using Parallel Processing.
- How to close a Window from a View Model using an Action.
- How to use a converter to collapse elements in XAML.
- How to basic CRUD async operations on an SQLite database. (Not using EF)
- How to load a DataGrid using async binding. 
- How to localize an application.

## Contributions
Please report any bugs.

If you can translate to other languages, the application is all set for localization. Grab a branch, create the resource files and then do a pull request.