Demos & Samples

ALoad and Save


A.01Loading and Saving Images

Demonstrates various methods how to use Graphics Mill to load and save images. Both simple syntax to load a single image and more advanced techniques (to load multi-image files) are presented.

loading+8   multiframe+1   multipage+1   saving+6   stream  


A.02JPEG Format

Loads and saves JPEG images.

jpeg+2   loading+8   saving+6   web optimization+3  


A.03Lossless JPEG Transforms

Demonstrates how to apply lossless operations (rotate, flip, crop, update region and metadata) on JPEG files, without decoding/encoding JPEG data (therefore, avoiding image quality degradation).

crop+2   exif+3   flip   iptc+2   jpeg+2   lossless jpeg   metadata+6   rotate+2   xmp+2  


A.04TIFF Format

Loads and saves TIFF images (both single and multiple pages).

loading+8   multiframe+1   multipage+1   saving+6   tiff+1  


A.05TIFF Extra Channels

Reads and writes extra channel to a TIFF image (such as spot colors or additional alpha channels).

channel+2   tiff+1  


A.06PNG Format

Loads and saves PNG images. Converts a bitmap to a palette-based image optimized for web.

indexed+3   loading+8   palette+2   png   saving+6   web optimization+3  


A.07BMP Format

Loads and saves BMP images.

bmp   loading+8   saving+6  


A.08GIF Format

Loads and saves GIF images. Converts a bitmap to a palette-based image optimized for web.

gif+1   indexed+3   loading+8   palette+2   saving+6   web optimization+3  


A.09Animated GIF

Creates an animated GIF. Extracts all frames of animated GIF and resizes GIF without loosing the animation.

animated   gif+1   loading+8   saving+6  

BFilters and Transforms



Demonstrates how to resize images and generate thumbnails.

image processing+6   resize+4   thumbnail+1   transform+4  


B.02Rotate, Flip

Rotates and flips images. You can rotate both 90/180 degrees clockwise and counterclockwise as well as an arbitrary angle.

image processing+6   rotate+2   transform+4  



Demonstrates how to crop a portion of an image.

crop+2   image processing+6   transform+4  


B.04Brightness, Contrast

Adjusts a brightness/contrast of an image.

brightness   contrast   filter+1   image processing+6  



C.01Line, Rectangle, Ellipse

Draws graphics primitives (line, rectangle, ellipse, polygon, curves) on RGB, CMYK, Grayscale images.



C.02Matrix Transform

Applies an affine transformation (translate, rotate, resize, shear and their combinations) to a drawn graphics using a matrix.

drawing+11   transform+4  


C.03Graphics Path

Demonstrates how to draw complicated graphics using Graphics Paths.

drawing+11   path+1   transform+4  


C.04Clipping Path

Demonstrates drawing inside a region (also known as Clipping Path). Only those portions of graphics which are located inside a Clipping Path are visible.

clipping path+1   drawing+11   path+1  


C.05Draw Image

Combines several images by drawing a bitmap over another one. It respects the transparency and alpha channels.

combine images   drawing+11   merge+1   overlay  

DFont and Text


D.01Plain and Bounded (Multiline) TextLive

Draws text strings and text areas on an image. Includes: horizontal and vertical single line text (with optional effects), multiline text bounded with a specified rectangle.

drawing+11   font+5   text+5  


D.02Font Loading and Text MeasuringLive

Calculates width and height of a rectangle occupied by a text string with specified font settings as well as other font metrics. Includes: receiving text size and string ascender/descender, calculating “black box” of a regular string and artistic text (written on a circle), loads a font dynamically.

art text+3   drawing+11   font+5   text+5  


D.03Art TextLive

Draws a text line with various artistic effects and distortions. Includes: various artistic text types (text on circle, bended text, etc) with variable bend level, text effects (glow, shadow).

art text+3   drawing+11   font+5   text+5  


D.04Double Path TextLive

Distorts a text string using two custom Bezier curves (on the top and bottom of the string). Includes: drawing curved text based on two Beziers with variable font size.

art text+3   drawing+11   font+5   text+5  



Fills a JPEG image with a text watermark. Includes: two types of watermark (simple diagonal watermark and two-string watermark with a grid).

drawing+11   font+5   text+5   watermark  


D.06PDF and EPS OutputLive

Generates two vector images and saves them as a PDF or EPS. Includes: drawing an image, vector and text data on a PDF/EPS, multipage PDF file support.

art text+3   drawing+11   eps   font+5   pdf   text+5  

EColor Management


E.01Converting Pixel Formats

Demonstrates how to convert an image between different pixel formats (RGB, CMYK, indexed, black-white, extended precision per channel). Creates indexed PNG images optimized for web. Adds alpha channel to a bitmap.

cmyk+2   color management+5   convert colors+2   grayscale+1   indexed+3   palette+2   rgb+2   web optimization+3  


E.02CMYK, Grayscale to RGB

Сonverts a non-RGB image (such as CMYK or grayscale) to a standard 8 bit per-channel RGB pixel format.

cmyk+2   color management+5   convert colors+2   grayscale+1   indexed+3   rgb+2  



Illustrates how to convert an RGB image to CMYK with or without color management. Generates an RGB preview of this color conversion to display it on the screen.

cmyk+2   color management+5   convert colors+2   rgb+2  


E.04Color Profile

Demonstrates how to work with color profile files, i.e. load them from images and separate files, append them to bitmaps, extract info from them.

color management+5   color profile  


E.05Color Management Engines

Demonstrates how to convert CMYK/RGB images using different color management engines. LittleCMS and Adobe Color Management Module (CMM) are supported.

color management+5  



Explains how to work with image channels - split, combine or swap them. Find here how to add/remove alpha channel or make pixels of a given color transparent.

alpha   channel+2   color management+5  




Reads and writes EXIF and IPTC metadata of image files (such as JPEG, TIFF).

exif+3   iptc+2   metadata+6  


F.02Thumbnail from EXIF

Demonstrates very efficient technique to receive thumbnails for JPEG files - it extracts them from EXIF and if it doesn't exist, it resizes the JPEG file in a classic manner.

exif+3   jpeg+2   loading+8   metadata+6   resize+4   thumbnail+1  



Reads and writes XMP metadata.

metadata+6   xmp+2  


F.04Adobe Image Resource Blocks

Reads and writes Adobe Resource metatada.

adobe resource+2   metadata+6  


F.05Clipping Path

Demonstrates how to work with a clipping path added to an image in Adobe Photoshop. It is a part of in Adobe Resource metatada.

adobe resource+2   clipping path+1   metadata+6   resize+4  


F.06Preserving Metadata

Shows how to preserve metadata (EXIF, IPTC, XMP, Adobe Resources) while you process images.

adobe resource+2   exif+3   iptc+2   metadata+6   xmp+2  

GLarge Images (Memory-Friendly Pipeline API)


G.01Resize, Rotate, Crop

Demonstrates how to use memory-friendly Pipeline API to apply basic image processing operations such as resizing, rotation, cropping, combine and other effects. Strongly recommended for large images.

crop+2   pipeline api+7   resize+4   rotate+2  



Draws rectangles, ellipses, etc on large images using a memory-friendly Pipeline API.

drawing+11   pipeline api+7  


G.03Pipeline API Syntax

Shows how to use Pipeline API in various ways. See alternative syntaxes illustrating how to build a pipeline of readers, writers, and transforms for memory-friendly image processing.

pipeline api+7  


G.04Multiple Receivers

Explains how to apply several image transformations to a single image in one run (e.g. generate thumbnails of several sizes). It allows processing an image in the most efficient way avoiding unnecessary file reading operations.

pipeline api+7  


G.05Multiple Sources

Explains how to use several images in one image transformation (i.e. build a pipeline which accepts several sources). In this example, a RGB bitmap is constructed from 3 grayscale images.

channel+2   pipeline api+7  


G.06Progress and Cancel

Demonstrates how to track a progress event (e.g. to display a progress indicator) and cancel the effect if the user press a hotkey.

async+1   asynchronous   pipeline api+7  


G.07Split Image into Tiles

Illustrates an example of a complicated pipeline which cuts a very large image into a big amount of smaller tiles at a single run.

leaflet+1   pipeline api+7   tile+1  

HGreen Screen Removal


H.01Green Screen RemovalLive

Demonstrates how to apply green screen matting (chroma keying) technique, i.e. removes green background from an image.

chroma key   filter+1   green screen removal   image processing+6  

IPSD Format (Adobe Photoshop)


I.01Merge and Resize

Reads PSD images (including multilayered ones). Loads each layer, combines them together and creates a thumbnail.

loading+8   merge+1   psd   resize+4  



P.01Batch Resize

Automates image resize and color correction using Graphics Mill and PowerShell

JWindows Forms


J.01Image Editor

A sample image editing application based on Graphics Mill. It demonstrates how to apply various image transformations and display the result on the BitmapViewer control.

image processing+6   photo editor   winforms+1  


J.02Asynchronous Processing

Demonstrates how to apply effects and display result on a BitmapViewer in two manners - synchronously and asynchronously, using Tasks.

async+1   asynchronous   image processing+6   winforms+1  



W.01Zoomable ImageLive

Cuts large images into tiles with memory-friendly algorithm (tens thousands pixel wide images are supported!) and displays it using Leaflet library.

leaflet+1   pipeline api+7   tile+1   web