ImageGear for C and C++ on Linux - Updated
Mark Objects: Descriptions, Types, and Attributes
User Guide > How to Work with... > Annotations > Annotation API: ART > Mark Objects: Descriptions, Types, and Attributes

This section describes each mark available in ImageGear ART component, and its associated attributes.

Some ART marks, such as Attach-a-Note, Text Stamp, and Typed Text, may require Wang compatibility mode enabled to be saved properly. On the contrary, the Highlighter mark should be saved without Wang compatibility mode on.

Wang/Kodak viewer included with Windows would only understand Wang-compatible annotations.

These constants define a range of user marks reserved for customer use. ImageGear will never use this range of the mark IDs for its purposes.
#define ART_MARK_USER_FIRST 1000
#define ART_MARK_USER_LAST 1999

This section provides information about the following legacy annotation marks:

Arrow

The Arrow mark enables the end user to create an arrow over an image or document. It allows users to pointing to areas of a document that may be of interest to its reader.

Description A line with a defined starting and ending point. An arrow head appears at the starting point.
Attributes rgbColor1, bHighlighting, dwLineSize
OiGroup String
OiIndex String
OiAnoDat ART_ARROW. This structure includes the following members:
  • lArrowType - Type of arrow head; valid values are 0 (ART_ARROW_POINTER), 1(ART_ARROW_SOLID), 2 (ART_ARROW_OPEN) and 3 (ART_ARROW_POINTER_SOLID)
  • lArrowAngle - The angle from the line to the outside edge of the arrow head. 15 is the default
  • lArrowLength - Length in image units of the arrow head. 25 is the default
  • lArrowEnd - Which end of the line the arrow head is to appear. Set to 0 for first point, set to 1 for second point
  • lReserved - Set to 0
  • apPoints - End points of the arrow

Attach-a-Note

The Attach-a-Note mark enables your end users to add notes to their annotated image or document.

Description A colored rectangle that contains text.
Attributes rgbColor1, rgbColor2, lfFont
OiGroup String
OiIndex String
OiAnText ART_TEXTPRIVDATA. This structure includes the following members:
  • lOrientation - Angle of text baseline to image in tenths of a degree; valid values are 0, 900, 1800, 2700.
  • lAlign - See ART_TEXT_xxx bitflags
  • lReserved - Not in use
  • lAnoTextLength - 64K byte limit (32K for multi-byte data) for Attach-a-Note, typed text, text from file; 255 byte limit for text stamp
  • szAnoText - Text string for text mark types

Audio

The Audio mark enables end users to hear sounds when annotating an image or document. It is useful for drawing attention to a particular area of a text or image file. This mark plays a waveform audio file (.WAV).

Description A sound file (.wav) included by reference. If the file is not found when it is activated, an error returns.
Attributes None
OiGroup String
OiIndex String
OiFilNam* ART_NAME_STRUCT
OiAnoDat* .WAV file

*Use either OiFilNam or OiAnoDat, not both.

Button

The Button mark places a programmable button on an image. For example, a button can be programmed to zoom into part of an image. Actions are programmed by adding code to the LPFNIG_ART_MOUSENOTIFY_FUNC callback function.

Description A rectangular or oval button assigned to perform certain actions.
Attributes rgbColor1, rgbColor2, lfFont
OiGroup String
OiIndex String
OiAnText ART_TEXTPRIVDATA. This structure includes the following members:
  • lOrientation - Angle of text baseline to image in tenths of a degree; valid values are 0, 900, 1800, 2700.
  • lAlign - See ART_TEXT_xxx bitflags
  • lReserved - Not in use
  • lAnoTextLength - 64K byte limit (32K for multi-byte data) for Attach-a-Note, typed text, text from file; 255 byte limit for text stamp
  • szAnoText - Text string for text mark types

Encryption

The Encryption mark enables your users to scramble all or part of the image.

Encrypted marks cannot overlap.
Description A scrambled rectangle in the image. The operation is reversible if the correct cypher is applied.
Attributes None
OiGroup String
OiIndex String
OiAnoDat ART_ENCRYPTION. This structure includes the following members:
  • lMethod - Encryption method, set to 0
  • lReserved - Set to 0
  • szPassword - Encryption password, NULL terminated

Filled Ellipse

The Filled Ellipse mark enables end users to cover areas of an image or document with a rectangle.

Description A filled ellipse whose boundaries are defined by a rectangle. Two points define the rectangle; an upper left point and a bottom right point.
Attributes rgbColor1, bHighlighting, dwLineSize
OiGroup String
OiIndex String

Filled Polygon

The Filled Polygon mark enables the end user to cover areas of an image or document with a polygon.

Description A series of lines where the starting point of line 1 is the same as the ending point of line n. The resulting polygon is filled with a solid color.
Attributes rgbColor1, bHighlighting, dwLineSize
OiGroup String
OiIndex String
OiAnoDat ART_POINTS. This structure includes the following members:
  • lMaxPoints - The maximum number of points; must be equal to the value of nPoints.
  • lPoints - The current number of points
  • ptPoint - Points marking the beginning and ending of the line segment(s); in image (not scaled) coordinates relative to the upper left corner of rcBounds in ART_MARK_ATTRIBUTES.

Filled Rectangle

The Filled Rectangle mark enables end users to cover areas of an image or document with a rectangle.

Description A rectangle with a filled center.
Attributes rgbColor1, bHighlighting
OiGroup String
OiIndex String

Form

The Form mark enables the developer to insert a bitmap image in a document or image. The inserted image must be the same size as the image or document it covers and must be one bit per pixel.

Description A black and white image included by an indirect reference. Only one Form mark is allowed per image. It is placed on top of the base image before all other marks. If the image is not found at display time, an error is returned.
Attributes bTransparent (must be set)
OiGroup String
OiIndex String
OiFilNam ART_NAME_STRUCT
OiAnoDat ART_NEW_ROTATE. This structure includes the following members:
  • lRotation - 1 = Original, 2 = Rotate right (90 degrees clockwise), 3 = Flip (180 degrees clockwise), 4 = Rotate left (270 degrees clockwise), 5 = Vertical mirror (reflected around a vertical line), 6 = Vertical mirror + Rotate right, 7 = Vertical mirror + Flip, 8 = Vertical mirror + Rotate left
  • lScale - Set to 1000
  • lHRes - Set to value of nOrigHRes
  • lVRes - Set to value of nOrigVRes
  • lOrigHRes - Horizontal resolution of image mark in DPI
  • lOrigVRes - Vertical resolution of image mark in DPI
  • lReserved - Set to 0

Freehand Line

The Freehand Line mark enables the end user to use freehand drawing for annotation. With this mark, end users create drawings as though they are using a pen and paper.

Description A series of lines where the starting point of line n+1 is the same as the ending point of line n.
Attributes rgbColor1, bHighlighting, dwLineSize
OiGroup String
OiIndex String
OiAnoDat ART_POINTS. This structure includes the following members:
  • lMaxPoints - The maximum number of points; must be equal to the value of nPoints.
  • lPoints - The current number of points
  • ptPoint - Points marking the beginning and ending of the line segment(s); in image (not scaled) coordinates relative to the upper left corner of rcBounds in ART_MARK_ATTRIBUTES.

Highlighter

The Highlighter mark enables end users to highlight areas of their annotated image or document.

Description A colored rectangle that highlights part of the image.
Attributes rgbColor1
OiGroup String
OiIndex String

Hollow Ellipse

The Hollow Ellipse mark enables the end user to create a hollow ellipse to surround important areas.

Description A hollow ellipse whose boundaries are defined by a rectangle. Two points define the rectangle, an upper left point and a bottom right point.
Attributes rgbColor1, bHighlighting, dwLineSize
OiGroup String
OiIndex String

Hollow Polygon

The Hollow Polygon mark enables the end user to surround areas of an image or document with a polygon.

Description A series of lines where the starting point of line 1 is the same as the ending point of line n.
Attributes rgbColor1, bHighlighting, dwLineSize
OiGroup String
OiIndex String
OiAnoDat ART_POINTS. This structure includes the following members:
  • lMaxPoints - The maximum number of points; must be equal to the value of nPoints.
  • lPoints - The current number of points
  • ptPoint - Points marking the beginning and ending of the line segment(s); in image (not scaled) coordinates relative to the upper left corner of rcBounds in ART_MARK_ATTRIBUTES.

Hollow Rectangle

The Hollow Rectangle mark enables users to surround areas of an image or document with a rectangle.

Description A rectangle with a center that is not filled.
Attributes rgbColor1, bHighlighting, dwLineSize
OiGroup String
OiIndex String

Hot Spot

The Hot Spot mark enables the end user to define an invisible hyperlink region in a document or image that can be used to hold hidden messages.

Description An invisible rectangle over part of an image. When the cursor passes over the area, it changes, indicating that the area has a special meaning.
Attributes rgbColor1
OiGroup String
OiIndex String

Image Embedded

The Image Embedded mark enables the end user to embed a bitmap image in a document or image.

Image Embedded marks are intended for use with bitmaps that use no more than the standard 20 Windows colors. Therefore, 1-bit and 4-bit bitmaps are allowed. If you try to display an 8-bit bitmap in the mark, it is displayed using only the standard 20 colors.

Description An embedded image.
Attributes bTransparent
OiGroup String
OiIndex String
OiDib AT_BITMAPINFO
OiAnoDat ART_NEW_ROTATE. This structure includes the following members:
  • lRotation - 1 = Original, 2 = Rotate right (90 degrees clockwise), 3 = Flip (180 degrees clockwise), 4 = Rotate left (270 degrees clockwise), 5 = Vertical mirror (reflected around a vertical line), 6 = Vertical mirror + Rotate right, 7 = Vertical mirror + Flip, 8 = Vertical mirror + Rotate left
  • lScale - Set to 1000
  • lHRes - Set to value of nOrigHRes
  • lVRes - Set to value of nOrigVRes
  • lOrigHRes - Horizontal resolution of image mark in DPI
  • lOrigVRes - Vertical resolution of image mark in DPI
  • lReserved - Set to 0

Image Reference

The Image Reference mark enables the end user to include an image by reference in a document or image.

Description An image included by reference. If the image is not found at display time, an error is returned.
Attributes bTransparent
OiGroup String
OiIndex String
OiFilNam ART_NAME_STRUCT
OiAnoDat ART_NEW_ROTATE. This structure includes the following members:
  • lRotation - 1 = Original, 2 = Rotate right (90 degrees clockwise), 3 = Flip (180 degrees clockwise), 4 = Rotate left (270 degrees clockwise), 5 = Vertical mirror (reflected around a vertical line), 6 = Vertical mirror + Rotate right, 7 = Vertical mirror + Flip, 8 = Vertical mirror + Rotate left
  • lScale - Set to 1000
  • lHRes - Set to value of nOrigHRes
  • lVRes - Set to value of nOrigVRes
  • lOrigHRes - Horizontal resolution of image mark in DPI
  • lOrigVRes - Vertical resolution of image mark in DPI
  • lReserved - Set to 0

Pin Up Text

The Pin Up Text mark enables the user to create a mark that appears to be tacked onto the image with a push pin.

Description A push pin that has an optional description label indicating what data can be retrieved when the mark is activated.
Attributes rgbColor1, rgbColor2, lfFont
OiGroup String
OiIndex String
OiAnoDat ART_TEXTPRIVDATA. This structure includes the following members:
  • lOrientation - Angle of text baseline to image in tenths of a degree; valid values are 0, 900, 1800, 2700.
  • lAlign - See ART_TEXT_xxx bitflags
  • lReserved - Not in use
  • lAnoTextLength - 64K byte limit (32K for multi-byte data) for Attach-a-Note, typed text, text from file; 255 byte limit for text stamp
  • szAnoText - Text string for text mark types

Polyline

The Polyline mark enables the end user to create several connected straight lines by dragging and clicking the mouse.

Description A series of lines such that the starting point of line n+1 is the same as the ending point of line n.
Attributes rgbColor1, bHighlighting, dwLineSize
OiGroup String
OiIndex String
OiAnoDat ART_POINTS. This structure includes the following members:
  • lMaxPoints - The maximum number of points; must be equal to the value of nPoints.
  • lPoints - The current number of points
  • ptPoint - Points marking the beginning and ending of the line segment(s); in image (not scaled) coordinates relative to the upper left corner of rcBounds in ART_MARK_ATTRIBUTES.

Protractor

The Protractor mark enables the end user to create an angle that displays the arc and the angle measurement.

Description Two lines that define an arc. The angle of the arc is displayed at the vertex of the lines.
Attributes rgbColor1, dwLineSize, bHighlighting
OiGroup String
OiIndex String
OiAnoDat ART_PROTRACTOR. This structure includes the following members:
  • lAspectNumeratorX - Aspect ratio numerator X
  • lAspectDenominatorX - Aspect ratio denominator X
  • lAspectNumeratorY - Aspect ratio numerator Y
  • lAspectDenominatorY - Aspect ratio denominator Y
  • lArcRadius - Radius of the arc
  • lPrecision - Number of places after decimal point
  • lOrientation - Angle of text baseline to image in tenths of a degree; valid values are 0, 900, 1800, 2700.
  • lReserved - Set to 0
  • ptPoint - Points of the arc

Redaction

The Redaction mark enables end users to hide or black out areas of their annotated image or document.

Description A colored rectangle that permanently blocks out part of the image.
Attributes rgbColor1
OiGroup String
OiIndex String

RTF

The RTF Edit mark enables end users to edit, load, and display RTF text.

Description An object that allows editing and displaying RTF text
Attributes None
OiGroup String
OiIndex String
OiAnText ART_TEXTPRIVDATA. This structure includes the following members:
  • lOrientation - Angle of text baseline to image in tenths of a degree; valid values are 0, 900, 1800, 2700.
  • lAlign - See ART_TEXT_xxx bitflags
  • lReserved - Not in use
  • lAnoTextLength - 64K byte limit (32K for multi-byte data) for Attach-a-Note, typed text, text from file; 255 byte limit for text stamp
  • szAnoText - Text string for text mark types

Ruler

The Ruler mark enables the end user to create a line that displays its measurement.

Description A line used to measure the distance with a predefined list of measurement units. The distance between points is displayed at the second point.
Attributes rgbColor1, dwLineSize, bHighlighting
OiGroup String
OiIndex String
OiAnoDat ART_CALIPER. This structure includes the following members (see also I_ART.h):
  • lAspectNumeratorX - Aspect ratio numerator X.
  • lAspectDenominatorX - Aspect ratio denominator X.
  • lAspectNumeratorY - Aspect ratio numerator Y.
  • lAspectDenominatorY - Aspect ratio denominator Y.
  • lEndLineLength1 - Length of the first end line.
  • lEndLineLength2 - Length of the second end line.
  • lPrecision - Number of places after decimal point.
  • lReserved - Set to 0.
  • ptPoint - End points of the ruler.
OiAnText ART_TEXTPRIVDATA. This structure includes the following members:
  • lOrientation - Angle of text baseline to image in tenths of a degree; valid values are 0, 900, 1800, 2700.
  • lAlign - See ART_TEXT_xxx bitflags.
  • lReserved - Not in use.
  • lAnoTextLength - 64K byte limit (32K for multi-byte data) for Attach-a-Note, typed text, text from file; 255 byte limit for text stamp.
  • szAnoText - Text string for text mark types.

Straight Line

The Straight Line mark enables the end user to create straight lines on a document or image.

Description A line with a defined starting and ending point.
Attributes rgbColor1, bHighlighting, dwLineSize
OiGroup String
OiIndex String
OiAnoDat ART_POINTS. This structure includes the following members:
  • lMaxPoints - The maximum number of points; must be equal to the value of nPoints.
  • lPoints - The current number of points
  • ptPoint - Points marking the beginning and ending of the line segment(s); in image (not scaled) coordinates relative to the upper left corner of rcBounds in ART_MARK_ATTRIBUTES.

Text from File

The Text from File mark enables the end user to add descriptive text to an annotated image or document. The text can be created in various fonts, sizes, colors, and even angles of presentation. The text appears to lay over the original image or document.

Description Text supplied from a file.
Attributes rgbColor1, lfFont
OiGroup String
OiIndex String
OiAnText ART_TEXTPRIVDATA. This structure includes the following members:
  • lOrientation - Angle of text baseline to image in tenths of a degree; valid values are 0, 900, 1800, 2700.
  • lAlign - See ART_TEXT_xxx bitflags
  • lReserved - Not in use
  • lAnoTextLength - 64K byte limit (32K for multi-byte data) for Attach-a-Note, typed text, text from file; 255 byte limit for text stamp
  • szAnoText - Text string for text mark types
OiFilNam char[]

Text Stamp

The Text Stamp mark allows the end user to annotate documents and images with text.

Description Text that contains a pre-defined string. The string may include, for example, the date and/or time that the mark was applied.
Attributes rgbColor1, lfFont
OiGroup String
OiIndex String
OiAnText ART_TEXTPRIVDATA. This structure includes the following members:
  • lOrientation - Angle of text baseline to image in tenths of a degree; valid values are 0, 900, 1800, 2700.
  • lAlign - See ART_TEXT_xxx bitflags
  • lReserved - Not in use
  • lAnoTextLength - 64K byte limit (32K for multi-byte data) for Attach-a-Note, typed text, text from file; 255 byte limit for text stamp
  • szAnoText - Text string for text mark types

There are several codes that can be embedded into the string stored into the szAnotText field of the ART_TEXTPRIVDATA structure of the ART_BLOCK_ANTEXT named block. For 32-bit products:

%a: Abbreviated weekday name
%: A Full weekday name
%b: Abbreviated month name
%B: Full month name
%c: Date and time representation appropriate for locale
%d: Day of the month in decimal number (01 - 31) format
%H: Hour in 24-hour format (00 - 23)
%I: Hour in 12-hour format (01 - 12)
%j: Day of the year as decimal number (001 - 366) format
%m: Month in decimal number (01 - 12) format
%M: Minute in decimal number (00 - 59) format
%p: Current locale's A.M./P.M. indicator for 12-hour clock
%S: Second in decimal number (00 - 59) format
%U: Week of the year in decimal number format, with Sunday as first day of week (00 - 51)
%w: Weekday in decimal number (0 - 6; Sunday is 0) format
%W Week of the year in decimal number format, with Monday as first day of week (00 - 51)
%x Date representation for the current locale
%X Time representation for the current locale
%y Year without the century, in decimal number (00 - 99) format
%Y Year with the century, in decimal number format
%z,%Z Time-zone name or abbreviation; no characters if the time zone is unknown
%% Percent sign

Typed Text

The Typed Text mark enables the end user to add descriptive text to their annotated image or document. The text can be created in various fonts, sizes, colors. The text appears over the original image or document.

Description A series of characters entered from the keyboard.
Attributes rgbColor1, lfFont
OiGroup String
OiIndex String
OiAnText ART_TEXTPRIVDATA. This structure includes the following members:
  • lOrientation - Angle of text baseline to image in tenths of a degree; valid values are 0, 900, 1800, 2700.
  • lAlign - See ART_TEXT_xxx bitflags
  • lReserved - Not in use
  • lAnoTextLength - 64K byte limit (32K for multi-byte data) for Attach-a-Note, Typed Text, Text from File; 255 byte limit for Text Stamp
  • szAnoText - Text string for text mark types