| Aurigma Graphics Mill 2.0 |
|
Overview
Graphics Mill 2.0 - an Image Processing Component of the Next Generation
Graphics Mill 2.0 is an image processing ActiveX component which was evolved from
Aurigma's popular product Graphics Processor. Thorough analysis of thousands of Graphics
Processor customer's feedback and similar imaging components of
another vendors allowed Aurigma to make Graphics Mill 2.0 one of the most powerful,
modern and convenient component ever created.
When other imaging component manufacturers stopped development on ActiveX
platform and focused on .NET market, Aurigma realized that it is still too early
to desert the ActiveX market. ActiveX is still the most wide-spread platform
(especially for desktop applications) and it still requires a powerful imaging
solution which would support modern technologies (as GDI+ and so on). Aurigma's
Graphics Mill 2.0 is just such a component.
As any ActiveX component, Graphics Mill can be used in various environments: ASP,
Visual Basic, .NET or any other which supports COM technology.
Main Principles of Graphics Mill Design
- Provides rich imaging capabilities for developers. Most features which
are necessary when you develop application which deals with imaging are
implemented.
- Fast and memory-friendly image processing. No implied conversion between pixel
formats is done, thus you will never have unexpected extra memory
consumption.
- High quality image processing (due to various interpolation techniques).
- Reliable architecture which prevents memory leaking and deadlocks.
- Intuitive API which is easy to use for ASP and Visual Basic programmers.
- Use modern Microsoft technologies such as drawing via GDI+ (allowing to use
less quality but faster means though). In fact, GDI+ is one of the most
high-quality and powerful drawing engine nowadays.
Imaging Core Features
These features can be used when developing both web applications and desktop
software:
- Load and save images:
- Support of various formats:
- JPEG, PNG, GIF, WBMP, TIFF, BMP (both read and write)
- PCX, PSD (read only)
- PDF, SWF (write only)
- Capability to load (as well as
save) images from various sources: files, streams,
arrays;
- Loading thumbnails on-the-fly from huge images without heavy memory
consumption. For example if you generate 100x100 thumbnail from 4000x4000
image, Graphics Mill allows you to avoid occupying 64 megabytes (as
happen when you first load image, then resize it). It can create
thumbnail while reading image from file, so you will never consume extra
memory.
- Process images in their natural formats:
- Graphics Mill allows you to load and save images in their natural
pixel formats: 1, 4, 8, 16, 24, 32 bits per pixel. So if you load 1-bit image,
it won't be converted to 32-bit image (occupying 32 times memory more). Most
effects can be applied directly on RGB, Grayscale and CMYK image without
conversion.
- Color management:
- Load and save embedded ICC profiles in files;
- Conversion between color spaces (RGB, CMYK and Grayscale) base on ICC
profiles;
- Display image on screen using device profile. Ability
to use two profiles together (to see on the device how
image will be looking on target device).
- Color reduction to 2-256 colors:
- Generate different palettes:
- Windows;
- Macintosh;
- Web Safe;
- Adaptive;
- Can use various dithering techniques:
- Error Diffusion (8 algorithms - Floyd Steinberg, Fan, Jarvis,
Original, Stucki, Sierra, Burkes, and Stephenson);
- Ordered Dithering (2 algorithms - Bayers and spiral);
- White Noise.
- Combine images with full support of alpha channel and various combine modes
(such as Add, Xor, Substract, Texturize, Screen, Overlay and others - 22 modes).
- Use various metrics when applying effects, get dimensions, draw lines, curves,
shapes etc. You can use the following measurement units: pixels, points, inches,
document units, millimeter and percents (relatively image dimensions).
- Provides various events, including progress notification (which allows to
display progress bar). You can display progress bar not only in desktop software, but
also in web application.
- Ability to interrupt all operations using timeout. It is especially
important in ASP preventing excess load on server (and thus denial of
service).
- Guarantees thread safety for all the operations applied on the image.
- Apply various transforms:
- Resize (12 interpolation algorithms, including Scale-To-Gray for 1-bit
images displaying);
- Rotate (precise rotation on small angle, antialising, fast
rotation on 90, 180 and 270 degrees);
- Crop;
- Flip;
- Swirl;
- Wave;
- WaterDrop;
- Cylindrize;
- Skew;
- Custom affine transform;
- Custom projective convex transform. It allows you to produce
perspective effects, etc.
- Adjust image colors:
- Hue/Saturation/Lightness;
- Brightness (both automatic and manual);
- Contrast (both automatic and manual);
- Levels (both automatic and manual);
- Channel Balance;
- Desaturate;
- Invert.
- Apply different effects:
- Add Noise (with uniform and Gaussian distribution);
- Blur (Gaussian blur and fast implementation);
- Edge Detect (9 different filters);
- Maximum Filter (also known as Erosion);
- Median Filter;
- Minimum Filter (also know as Dilation);
- Sharpen;
- Unsharp Mask;
- Waddle.
- Apply artistic effects:
- Buttonize (with 3 diffrent button types);
- Emboss;
- Glow;
- Mosaic;
- Page Curl;
- Shadow;
- Solarize;
- Spray;
- Texturize (neighbour images are connected seamlessly).
- Display image statistics such as image histogram.
- Provides low level access to pixel data (allows you to create fast custom
effects on image).
- Powerful drawing features:
- Support of two drawing engines:
- GDI - provides high speed output;
- GDI+ - provides high quality output;
- Draw lines, curves (bezier splines), shapes (as rectangles, ellipses,
polygons and more);
- Ability to use various pens to outline shape (you can specify width,
color, style);
- Ability to use various brushes to fill shape (you can change color,
specify whether brush hatched and so on);
- Work with True Type, Type1 and OpenType fonts. Can retrieve
font metrics (ascent, descent, em square and so on);
- Ability to draw outlined text (for creating artistic captions and so
on).
ActiveX Controls and Dialogs for VB
For those who build applications in VB, VC++, Delphi or other languages and
environments supporting ActiveX, Aurigma has developed convenient controls and dialogs
which will greatly improve your application:
- Scrollable viewport control with the following key features:
- Rubber-band selection and zooming;
- Auto zoom;
- High-quality zoom in/out display, supports scale-to-gray resize
techinque for bitone images;
- Displays semi-transparent images (with alpha-channel) correctly;
- Applies color management;
- Displays images in actual physical size (in device-independent units as
inches). It is expecially important for images which have different horizontal
and vertical resolution (for example fax images). Such images
are displayed properly.
- Improved Open/Save dialogs:
- Image preview. Memory-friendly thumbnail extracting technique is used;
- Displays basic information about image (such as width, size, and color
depth);
- Color selection dialog (in various color models);
- Powerful demo application (all the source code is included) which can be
used as the perfect starter kit. Includes dialogs for all the effects and many other
features.