Most apps have some need for image processing: you might be uploading profile photos, or storing photographs, or need to use images for interpretation and analysis. The sharper your images' quality, the better your users can interpret information (and the better your app will look). While many languages are versatile enough to provide image processing, there's a dearth of full-featured libraries supported on .NET .NET Core, which means you'd lose the ability to write a single code base for cross-platform support.
Introducing an Imaging API for .NET Core
GrapeCity's Documents API line now features a full imaging library that fills that gap: Documents for Imaging, .NET Edition (a.k.a. GcImaging). With GcImaging, you can create, load, modify, and save images in .NET Core applications with full support on Windows, macOS, and Linux and deploy as FaaS with AWS Lambda, Azure functions, and more.
This feature-rich API can:
Load images of popular formats like BMP, JPEG, TIFF, GIF, and PNG
Apply advanced image processing techniques and save them back
Load and save image files
Modify images like rotate, crop, resize, and convert images
Apply effects like dithering, thresholding effects on grayscale images
Apply effects on RGB images
Draw graphics on images and fill regions
Draw advanced text with full font handling, text, and paragraph formatting on images
Apply advanced TIFF features
...and more!
When would you need GcImaging for .NET Core?
If you require image processing and you're migrating .NET Standard, GcImaging is a must—it's the only imaging library currently available for .NET Standard. Top use cases include:
Dithering high-color-depth images to view them on low-color-depth environments like embedded systems
Producing accurate images for image transmission
In medical imaging, generating images from X-rays and ultrasounds to detect conditions for patient screening
Analyzing remotely-sensed images for further research
Enhancing images for acoustic imaging
Restoration and enhancement of surveillance imagery in forensic sciences
Job application forms as a profile image
Documents where company logos need to be inserted for example shipping labels
Product requirements where a Product Manager would use images to explain better end result of a software
E-commerce apps where people choose products based on images, and more the quality of images, the more likely they are to choose the products.
Articles where images can increase traffic to the pages,
Social media marketing makes heavy use of illustrative examples
And so on!
Let's look at what GcImaging can do for you.
Top features include:
1. Load and save images in popular formats
GcImaging can load images from files, streams, or byte arrays and save images to files or streams. GcImaging supports:
BMP
JPEG
GIF (single-frame only)
PNG
TIFF
2. Process images in code
GcImaging allows you to apply variety of image processing techniques: modify images, apply effects, convert, and save images in original or other image formats.
2.1 Create thumbnails and apply watermarks
Apply various interpolation algorithms and downscale the images to thumbnails of any size. You can also apply watermark text to the thumbnails and save them.
Rotate and flip images clockwise or counter-clockwise to render on different devices, or to create mirror effects. Flip images horizontally to create a water reflection, or vertically to create a mirror effect.
2.3 Resize images using several interpolation modes
Images often need to be enlarged to view small details, or scaled down to adjust to the available space. GcImaging supports popular interpolation algorithms that control a pixel's color and intensity while transforming to final images:
2.6 Apply dithering effects to grayscale and RGB images
Normal full images can contain a near-infinite range of color values. With GcImaging, you can apply dithering effects to reduce the number of bits per color channel in the images:
With GcImaging text features, you can caption an image, add a company name or logo, or even create memes for images. GcImaging's advanced text features can work on any environment and in multilingual applications where the image is being used.
Here's a list of text features and properties supported with GcImaging:
Powerful text layout engine with full support for TrueType, OpenType, WOFF fonts.
Text processing, layout and formatting is platform-independent and follows Unicode standards.
Fallback, linked and EUDC fonts are fully supported.
Draw coloured fonts and characters with 4-byte Unicode codes.
Font features and bold/italic emulation are supported.
Right-to-left and Far Eastern languages are fully supported, including Kashida in Arabic and Tate Chu Yoko for CJK languages and vertical text.
Vertical text
Various paragraph formatting options, support for multi-column text with balanced columns.
Measure and split text.
Draw text around images or other rectangular areas.
Aliased and two anti-aliasing modes for rendering text and graphics.
GcImaging supports creating, editing and saving TIFF images, the format preferred to store multiple BMP images of different pixel depths. The following features are supported:
Read and write TIFF frames as separate images.
Support various compression schemes.
Support PhotometricInterpretation tag values WhiteIsZero, BlackIsZero, RGB, RGB Palette, and transparency mask
Support tiled, planar, and differencing storage methods
Convert images to multiple image formats as per your application needs. Images can be converted to BMP, JPEG, GIF, PNG, and TIFF.
7. Extract Exif metadata from Images
Metadata information is attached to the images when they're captured, and these fields can tell you about:
The model of the camera
The time it was taken
Shutter speed
Focal length
Light value and even the location
Whether the flash was used
Title
Creator
Date
Description
Copyright
And more!
Such information is helpful to analyze images further by intelligence, investigative agencies, news agencies, or remote sensing research. With GcImaging, you can extract all Exif metadata from the images and make use of it as per the business needs.
You can add watermark text with all advanced text features that can render on any system. The resulting image can be saved to any of the image formats.
Deploying GcImaging as FaaS (AWS Lambda, Azure Functions etc.)
You can also use GcImaging as FaaS with AWS Lambda, Azure functions, and other cloud services.
Know more about GcImaging
Samples
Check out GcImaging's full featured demo sample at http://demos.componentone.com/gcdocs/gcimaging for code samples and feature demonstration. These samples are .NET Core applications, available for download from the demo sample.