Demos & Samples

ALoad and Save

/samples/load-and-save/loading-and-saving-images

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  

/samples/load-and-save/jpeg-format

A.02JPEG Format

Loads and saves JPEG images.

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

/samples/load-and-save/lossless-jpeg-transforms

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  

/samples/load-and-save/tiff-format

A.04TIFF Format

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

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

/samples/load-and-save/tiff-extra-channels

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  

/samples/load-and-save/png-format

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  

/samples/load-and-save/bmp-format

A.07BMP Format

Loads and saves BMP images.

bmp   loading+8   saving+6  

/samples/load-and-save/gif-format

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  

/samples/load-and-save/animated-gif

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

/samples/filters-and-transforms/resize

B.01Resize

Demonstrates how to resize images and generate thumbnails.

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

/samples/filters-and-transforms/rotate-flip

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  

/samples/filters-and-transforms/crop

B.03Crop

Demonstrates how to crop a portion of an image.

crop+2   image processing+6   transform+4  

/samples/filters-and-transforms/brightness-contrast

B.04Brightness, Contrast

Adjusts a brightness/contrast of an image.

brightness   contrast   filter+1   image processing+6  

CDrawing

/samples/drawing/line-rectangle-ellipse

C.01Line, Rectangle, Ellipse

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

drawing+11  

/samples/drawing/matrix-transform

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  

/samples/drawing/graphics-path

C.03Graphics Path

Demonstrates how to draw complicated graphics using Graphics Paths.

drawing+11   path+1   transform+4  

/samples/drawing/clipping-path

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  

/samples/drawing/draw-image

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

/samples/font-and-text/plain-and-bounded-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  

/samples/font-and-text/font-loading-and-text-measuring

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  

/samples/font-and-text/art-text

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  

/samples/font-and-text/double-path-text

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  

/samples/font-and-text/watermark

D.05WatermarkLive

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  

/samples/font-and-text/pdf-and-eps-output

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

/samples/color-management/converting-pixel-formats

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  

/samples/color-management/cmyk-grayscale-to-rgb

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  

/samples/color-management/rgb-to-cmyk

E.03RGB to CMYK

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  

/samples/color-management/color-profile

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  

/samples/color-management/color-management-engines

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  

/samples/color-management/channels

E.06Channels

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  

FMetadata

/samples/metadata/exif-and-iptc

F.01EXIF and IPTC

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

exif+3   iptc+2   metadata+6  

/samples/metadata/thumbnail-from-exif

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  

/samples/metadata/xmp

F.03XMP

Reads and writes XMP metadata.

metadata+6   xmp+2  

/samples/metadata/adobe-image-resource-blocks

F.04Adobe Image Resource Blocks

Reads and writes Adobe Resource metatada.

adobe resource+2   metadata+6  

/samples/metadata/clipping-path

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  

/samples/metadata/preserving-metadata

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)

/samples/large-images/resize-rotate-crop

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  

/samples/large-images/drawing

G.02Drawing

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

drawing+11   pipeline api+7  

/samples/large-images/pipeline-api-syntax

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  

/samples/large-images/multiple-receivers

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  

/samples/large-images/multiple-sources

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  

/samples/large-images/progress-and-cancel

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  

/samples/large-images/split-image-into-tiles

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

/samples/green-screen-removal/green-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)

/samples/psd-format-adobe-photoshop/merge-and-resize

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  

PPowerShell

/samples/powershell/batch-resize

P.01Batch Resize

Automates image resize and color correction using Graphics Mill and PowerShell

JWindows Forms

/samples/windows-forms/image-editor

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  

/samples/windows-forms/asynchronous-processing

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  

WWeb

/samples/web/zoomable-image

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