Standard Features

On this page, you can view the extended feature set of Graphics Mill Standard. 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

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 x86-64 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.

Image Format Support

Graphics Mill Standard offers support for the most commonly used image formats.

IMPORTANT:

Graphics Mill Standard does not support 16 bit per channel color space for image formats. This function is only offered with Graphics Mill Pro for appropriate formats.

TIFF

TIFF is widely used for a variety of imaging needs, including photography. Graphics Mill Standard 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 Standar does not support multipage TIFF.

JPEG

Today JPEG is used absolutely everywhere: in digital cameras, on the Internet, etc. Also, JPEG resizing and rotation without recompression is provided as well as compression for individual image regions.

Comprehensive JPEG2000 format is supported.

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)

SWF

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

Advanced Metadata Support

When it comes to metadata, Graphics Mill Standard provides comprehensive 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.

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 Standard, 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 Standard 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 Standard 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 Standard, you can create your own effects. It becomes easy because Graphics Mill Standard provides low level access to pixel data.

Expert Drawing Features

Graphics Mill Standard  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 analogous 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;