Pro Features

On this page, you can view the extended feature set of Graphics Mill Pro. However, all functional capabilities can be discovered only through reading the online documentation and watching samples.

Note

For an overview of controls, see the following pages:

Table of Page Content

 

Enhanced Performance

Multi-Core and Multi-CPU Support

Graphics Mill Pro features multi-core and multi-CPU support. This support is implemented using the OpenMP technique. No effort from the developer is required to implement this support in the final product. All you need to do is enable / disable the MultiProcessorSupport property. Graphics Mill automatically detects the platform you are running under – and utilizes the available CPUs and CPU cores in an efficient manner.

x64 support

Graphics Mill Pro has native x64 platform support. This means that more than 2 Gb of RAM can be allocated per process for image processing needs. This feature is indispensable when dealing with extra-large images in pre-press industries and in demanding imaging solutions. Make sure to download x64-enabled build to reap the benefits of x64 architecture.

Multithreading

Multithreading is a great way to optimize your application and greatly improve end user experience. Graphics Mill provides multithreading capabilities that enable you to put all imaging computations into a separate thread. This way, pending imaging operations do not make your application controls unaccessible. The user can continue doing some tasks while a huge image is being cropped, resized or while a complex artistic effect is being applied.

SSE Optimization

SSE instructions support enables Graphics Mill to boost performance when processing pixel data and doing other performance-taxing tasks that envisage handling huge amounts of input data. SSE instruction sets are supported by all modern x86 and x64 CPUs.

Managed and Unmanaged Code

None of imaging software can be 100% managed. If it were, it would have significant performance problems. That's why all high-performance imaging components for .NET are written by mixing managed .NET code with unmanaged code written in C/C++. Most companies implement mixing of managed and unmanaged code by writing wrapper .NET classes for COM components or common Windows DLLs. However, this approach has an obvious disadvantage: it is vulnerable to the so-called "DLL Hell" problem which happens when different versions of the same component are installed on the same machine.

Graphics Mill leverages a different approach. Written in MC++ (Managed C++), it mixes managed and unmanaged C++ code in a single assembly. It means no .NET-foreign DLLs are distributed. This way, you do not need to register any DLLs or put them into system folders. You can deploy your applications with a simple xcopy and never have versioning problems. Also, since unmanaged code can be called from inside the managed code without any platform interoperability, it has higher performance.

Another great feature of unmanaged code in Graphics Mill for .NET™ is the possibility to use Assembler. Most speed-critical portions of code are written in Assembler with MMX optimization. It enables Graphics Mill for .NET™ to be faster than other imaging toolkits out there.

Rich Format Support

Graphics Mill Pro was designed to offer maximum support for all necessary image formats.

TIFF

TIFF is widely used for a variety of imaging needs: from document imaging and print preparation to medical and scientific imaging. Graphics Mill Pro features support for all modern compression methods, including CCITT RLE, Group 3, and Group 4 Fax compression, LZW compression, JPEG compression, ZIP "deflate" compression. Graphics Mill Pro supports multipage TIFF.

Document Imaging

Here, TIFF is an industry standard. Graphics Mill Pro offers CCITT compression and multi-page TIFF support to meet document imaging needs.

Scientific Imaging

In scientific imaging, enhanced precision is often required. Graphics Mill Pro supports 16 bits per channel images for TIFF and multipage TIFFs. x64 support allows for manipulating extra-large gigantic images, such as satellite photos and star sky telescope photos.

JPEG

Today JPEG is used absolutely everywhere: in digital cameras, on the Internet, etc. Graphics Mill Pro supports all possible JPEG pixel formats (including 16 bit per channel). Also, JPEG resizing and rotation without recompression is provided as well as compression for individual image regions.

Comprehensive JPEG2000 format support is offered, including 16 bit per channel color precision.

GIF

GIF is widely used in Internet for both static and animated images. Graphics Mill features a unique capability to resize animated GIF images.

AVI

Graphics Mill supports AVI format and allows for extracting individual frames and soundtracks as well as writing them to file. Also, available are transition effects and many more extra features such as watermarking.

PNG

PNG was designed to replace GIF where higher image quality was required. This format is not typically used in professional imaging but is widely used over Web.

BMP / WBMP

Here, Graphics Mill provides RLE compression support and saving BMP for both Windows and OS/2. WBMP format is used mainly with wireless devices and is fully supported by Graphics Mill.

PCX (read-only)

PDF (write only)

Graphics Mill Pro is able to embed bitmaps into PDF as well as save multiple pages.

PSD (read only)

Graphics Mill Pro is able to extract individual text and raster layers from PSD. After extraction, layers can be merged to create personalized graphics. From a PSD file, Graphics Mill Standard can load a single layer which is used for previewing all layers in the PSD file.

SWF

Graphics Mill is able to save sequences of bitmaps into SWF.

Advanced Metadata Support

When it comes to metadata, Graphics Mill Pro provides unparalleled support. With Graphics Mill, you can extract and modify metadata types listed below.

EXIF

EXIF data contains information provided by the digital camera, including camera settings, date of capturing, and sometimes even GPS details. You can use EXIF data for different tasks: use some fields to post-process the photo (e.g. automatically rotate the image by analyzing the orientation of the camera during capturing), organize photos in a gallery by capture date, etc.

IPTC

IPTC is commonly used in journalistic industry to keep information about image author, subject, location, etc. It is often used for cataloging photos.

XMP

XMP is used by Adobe Photoshop to store different metainformation.

Adobe® Image Resource Blocks

Adobe® Image Resource Blocks is a proprietary Adobe Inc. format for storing such image metadata as pen tool paths, background color. etc. This format is used not only with the PSD format but also with TIFF and JPEG.

Expert Color Management

Graphics Mill Pro provides professional color management features. These are indispensable for pre-print preparation solutions. If the image file contains an embedded color profile, Graphics Mill Pro loads it along with pixels. You can change this profile or convert pixels to fit another profile. You can specify output color profiles for all color spaces supported by Graphics Mill: RGB, CMYK, and grayscale.

During conversion, you can specify necessary rendering intent – relative colorimetric, absolute colorimetric, perceptual, as well as saturation. When using relative color metric, you can use the so-called "black point compensation" mode which increases the contrast of the output image.

You can preview the result of printing on the screen by specifying two profiles for the conversion: the printer profile and the display profile. This allows the user to see and proof the image without long and often costly printing.

Professional Color Reduction Techniques

Color reduction is a process of converting TrueColor images into the images with 2-256 colors (i.e. indexed images). The process envisages two subtasks – palette generation and the conversion itself. Graphics Mill is excellent at doing both.

With Graphics Mill Pro, you can:

  • Generate adaptive palette using Octree algorithm;
  • Use one of predefined palettes:
    • Windows
    • Macintosh
    • Web Safe
    • Adaptive
  • Use custom palette

When the conversion starts, a special technique called dithering is used to reduce halftone "washing out". Graphics Mill Pro supports the following dithering modes:

  • Error Diffusion (8 algorithms - Floyd Steinberg, Fan, Jarvis, Original, Stucki, Sierra, Burkes, and Stephenson);
  • Ordered Dithering (2 algorithms - Bayers and spiral);
  • White Noise;

Numerous Effects, Transforms and Other Imaging Commands

Graphics Mill Pro allows you to apply lots of various imaging operations. These are listed below in categories.

Red-Eye Effect Removal

Red-Eye removal functionality makes the entire process as easy as possible: it features a unique semi-automatic mode that only requires selecting the necessary face – and the natural eye tint is automatically restored. The process is split up into steps and features undo operation.

Geometry Transforms:

  • Resize (12 interpolation algorithms, including Scale-To-Gray for 1-bit images displaying, and Scale-To-Color for color indexed bitmaps);
  • Rotate (precise rotation on small angle, antialising, fast rotation on 90, 180 and 270 degrees);
  • Arbitrary affine and projective transforms (e.g. skew, perspective, etc.);
  • Crop;
  • Flip;
  • Swirl;
  • Wave;
  • WaterDrop;
  • Cylindrize;

Color Adjustment Algorithms:

  • Hue/Saturation/Lightness correction;
  • Brightness correction (both automatic and manual);
  • Contrast correction (both automatic and manual);
  • Levels tone correction (both automatic and manual);
  • Curves tone correction;
  • Custom LUT;
  • Histogram equalization;
  • Channel balance;
  • Desaturation;

Filters:

  • Blur (Gaussian blur and fast implementation);
  • Edge Detect;
  • Maximum Filter (also known as Erosion);
  • Median Filter;
  • Minimum Filter (also know as Dilation);
  • Sharpen;
  • Unsharp Mask;

Artistic Effects

  • Waddle;
  • Add Noise (with uniform and Gaussian distribution);
  • Buttonize (with 3 diffrent button types);
  • Emboss;
  • Glow;
  • Mosaic;
  • Page Curl;
  • Shadow;
  • Solarize;
  • Invert;
  • Spray;
  • Texturize (neighbour images are connected seamlessly).

You can apply effects and color/tone adjustments to a part of the image using a rectangle or a raster mask. You can also combine images with full support of alpha channel and various combine modes (such as Alpha, Add, Xor, Substract, Texturize, Screen, Overlay and others, overall 22 modes). Overall opacity can be specified as well.

To get statistics about the bitmap, you can generate a histogram. By analyzing the histogram, you can estimate whether the image is too bright, too dark, or has too low a contrast. If you need more imaging algorithms than is offered by Graphics Mill Pro, you can create your own effects. It becomes easy because Graphics Mill Pro provides low level access to pixel data.

Expert Drawing Features

Graphics Mill Pro provides powerful drawing features and is closely integrated with GDI+.

Close integration with GDI+

You can draw high quality graphics on Aurigma.GraphicsMill.Bitmap using classes from System.Drawing namespace. The class which is analog to System.Drawing.Graphics class but is based on GDI. This way, you can provide extremely high speed of drawing without having to import Win32API functions and structures, or getting into DirectX. Among other things, it enables you to do the following:

  • Draw lines, curves (bezier splines, arcs), shapes (rectangles, ellipses, polygons, pies);
  • Use various pens to outline shape (you can specify width, color, style, etc.);
  • Use various brushes to fill shapes (you can change color, specify whether brush is hatched and so on);
  • Draw text with True Type, Type1 and OpenType fonts. Text can be both single-line and multi-line with automatic words wrapping, clipping, adding ellipsis, etc;
  • Retrieve font metrics (ascent, descent, internal and external leading, etc);
  • Measure text string, get individual character position in the text, etc;
  • Draw outlined text;
  • Set affine transformation when some graphics is drawn (rotate, scale, shear);
  • Set clipping region when drawing something;