ImageUltimate is the fastest and easiest ASP.NET image resizer which supports both ASP.NET MVC, ASP.NET Core and ASP.NET WebForms web applications/web sites. ImageUltimate can also be used with .NET desktop applications as web specific features are separated into Web sub-namespace.
- Can load and save many image file formats (raster, vector and camera raw).
- Provides a fluent interface for easily chaining image manipulation commands.
- Vastly faster (10x) than System.Drawing namespace and optimized specifically for web use.
Minimal memory usage and the ability to process very large images in a fast manner.
- Provides detailed information about an image file like format, size, DPI, pixel format and metadata like EXIF and IPTC.
- Fast thumbnail generation, smartly looks for a EXIF thumbnail, removes black stripes above and below it and
resizes it down further if needed.
- Provides these image transforms: Resize, LiquidResize (seam carving), Crop, TrimBorders, Rotate, Flip.
- Provides these image color/tone corrections and filters: Brightness, Contrast, Enhance, Blur, Sharpen.
- Caches generated images both on server and browser with a smart versioning algorithm. A unique and browser-cacheable url is generated according to the chained commands and whenever you change these commands (or modify the source image externally), the url will vary and this will cause browser to automatically detect changes (no need to press F5).
- Generates SEO friendly urls. By default the file name of the source image is used but it's possible to override this file name for SEO purposes.
- Single managed DLL (works both on 32-bit and 64-bit) for easy deployment and no dependencies. No messy Web.config settings. Just drop it in your bin folder and you are ready to go.
- Strongly-typed API for web, no need to learn and memorize messy url querystring parameters, just chain commands with the help of intellisense.
ASP.NET MVC usage example:
@this.ImageTag("Image1.jpg", task => task.ResizeWidth(300))
ASP.NET WebForms usage example:
<%=this.ImageTag("Image1.jpg", task => task.ResizeWidth(300)) %>
General usage examples:
using (var imageTask = new ImageTask(@"C:\Pictures\Picture1.jpg"))
Note: This package contains a fully working version of the product, however without a license key it will run in trial mode. This means after 30 days, the generated images will be watermarked with a red "ImageUltimate" text at the bottom right corner.
See the version list below for details.
Install-Package ImageUltimate.NuGetOrg -Version 3.4.5
dotnet add package ImageUltimate.NuGetOrg --version 3.4.5
<PackageReference Include="ImageUltimate.NuGetOrg" Version="3.4.5" />
paket add ImageUltimate.NuGetOrg --version 3.4.5
## Version 3.4.5 - January 22, 2019
- **Improved:** Stability and performance for FileCache:
- Optimized cache folder structure so that access is very fast even when it's crowded (e.g. 20.000 files).
This will also vastly improve access times when Amazon S3 or Azure Blob location is used for the cache
(no more unnecessary cache folder listing so fewer requests to cloud storage). The existing cache folder
will be migrated to the new structure automatically when this version first runs.
- Cache folder can now be shared with multiple processes reliably as it will use distributed locking.
Even processes on different machines will be handled via creating lock files within the cache folder.
For example if you use a network share as the cache folder, different instances of the application will
reliably share the cache (no unexpected "cache file not found" errors and ensuring the ongoing caching
is completed only once).
- Automatic cache trimming (clean up of expired items) is now a background task which is run at regular intervals
specified via AutoTrimInterval property (default is 20 minutes). In the older version, it required a trigger
of creating a new cache item. So now auto cache trim is more reliable and efficient.
- Replaced maxDays constructor parameter with MaxAge property which is a TimeSpan so expiration can now be set
also in hours, minutes or seconds and not only in days.
- API changes:
- FileCache(Location location, int maxDays) -> FileCache(Location location)
- FileCache.MaxAge -> New Get/Set property (replaces maxDays constructor parameter)
- FileCache.WaitTimeout -> New Get/Set property
- FileCache.AutoTrimInterval -> New Get/Set property
- FileCache.LocationString -> New Get property
- FileCache.LocationId -> New Get property
- ImageUltimateWebConfiguration.CacheMaxDays -> ImageUltimateWebConfiguration.CacheMaxAge
- ImageUltimateWebConfiguration.CacheWaitTimeout -> New Get/Set property
- ImageUltimateWebConfiguration.CacheAutoTrimInterval -> New Get/Set property
- **Improved:** Stability of image processing.
- GleamTech.Core.NuGetOrg (>= 3.3.3)
This package is not used by any popular GitHub repositories.