- Quality (The quality to set the output for jpeg files)
- Reset (Resets the image to its original loaded state)
- Resize
- Rotate (Rotate the image through 360º)
- RoundedCorners (Add rounded corners to each optional corner)
- Saturation
- Vignette (Adds a vignette effect to images)
- Watermark (Set a text watermark)
The library consists of two binaries: **ImageProcessor.dll** and **ImageProcessor.Web.dll**.
ImageProcessor.dll
==================
**ImageProcessor.dll** contains all the core functionality that allows for image manipulation via the `ImageFactory` class. This has a fluent API which allows you to easily chain methods to deliver the desired output. This library contains no web specific componenets so is suitable for both desktop and web applications.
e.g.
// Read a file and resize it.
byte[] photoBytes = File.ReadAllBytes(file);
int quality = 70;
ImageFormat format = ImageFormat.Jpeg;
Size size = new Size(150, 0)
using (var inStream = new MemoryStream(photoBytes))
{
using (var outStream = new MemoryStream())
{
using (ImageFactory imageFactory = new ImageFactory())
{
// Load, resize, set the format and quality and save an image.
imageFactory.Load(inStream)
.Resize(size)
.Format(format)
.Quality(quality)
.Save(outStream);
}
// Do something with the stream.
}
}
ImageProcessor.Web.dll
======================
**ImageProcessor.Web.dll** contains an ASP.NET HttpModule which captures internal and external requests automagically processing them based on values captured through querystring parameters.
Using the HttpModule requires no code writing at all. Just install the package references the binaries relevant sections in the web.config will be automatically created.
Image requests suffixed with querystring parameters will then be processed and **cached to the server - up to 12,960,000 images** allowing for easy and efficient parsing of following requests.
The parsing engine for the HttpModule is incredibly flexible and will **allow you to add querystring parameters in any order.**
Installation
============
Installation is simple. A Nuget package for the full web version is available [here][1] and the standalone library [here][2].
Alternatively you can download and build the project and reference the binaries. Then copy the example configuration values from the demo project into your `web.config` to enable the processor.
Usage
=====
Heres a few examples of the syntax for processing images.
Alpha Transparency
==================
Imageprocessor can adjust the alpha transparency of png images. Simply pass the desired percentage value (without the '%') to the processor.
Imageprocessor can add watermark text to your images with a wide range of options. Each option can be ommited and can be added in any order. Just ensure that they are pipe "|" separated: