PixeLook
Development Group

See also:

[Image analysis]

[Vector editor]

[IPL wrapper]

[AVI - demo]

[Samples]

[ ZL.DLL ]

Monitor page
for changes

it's private
powered by
ChangeDetection

 

Components

TZBitmapLink - image and image sequences, 2D data 

TZBitmapLink

General-purpose component, which connects images, AVI files, 2D-data with the visualization components such as TZImageBox, TZStereoBox, TZImageViewer, TZThumbNavigator

TZImageBox - image and 2D-data viewing 

TZImageBox

Basic component for 2D-data visualization. It has built-in zooming/scrolling functionality making it simple to handle the image.  Supports graphics layers

TZStereoBox - stereo viewer of image and 2D-data 

TZStereoBox

This is the same as TZImageBox, except that it visualizes two images (or 2D-data arrays) in stereo mode. Anaglyph and interlaced stereo modes are supported

TZGraphLayer - graphic layer 

TZGraphLayer

Fully customizable graphics layer

TZMarkerLayer - vector graphics 

TZMarkerLayer

Graphics layer with built-in vector editor

TZImageRectLayer - rectangle selection component 

TZImageRectLayer

Particular case of TZMarkerLayer. Suitable for implementation of rectangular selection tools

TZRegionLayer - region selection component 

TZRegionLayer

Particular case of TZMarkerLayer. Suitable for implementation of region selection tools

TZImageViewer - image viewing component 

TZImageViewer

Image viewer that can be simple or advanced. The advanced image viewer is a very sophisticated component with image analysis tools; it also supports image processing plugins

TZRasterLayer - raster layer component 

TZRasterLayer

Graphics layer containing an image. Suitable for nonstandard visualization of image regions

TZGraphBox - 2D graphics component 

TZGraphBox

Component for visualization of custom graphics. It has built-in zooming/scrolling functionality, making it simple to handle the picture. Supports graphics layers

TZGraph3DBox - 3D graphics component 

TZGraph3DBox

Component for visualization of 3D-graphics

TZ3DViewer - 3D graphics component with navigation 

TZ3DViewer

Complex component TZGraph3DBox + navigation toolbar

 

TZThumbNavigator

Component for thumbnail image sets visualization

TZVideoLink

NEW! Component for frame capturing from video sources

TZOverview

NEW! Component for fast changing the view of TZImageBox component (scroller position, scale) and visualization of cursor-dependent information (coordinates, color of a pixel...)

TZImageMenu

NEW! Popup menu with images

TZ3DViewer - 3D viewer component

TZTiledRaster

NEW! Raster layer with special features: tiling, cloning, symmetry

TZBitmapLink - image and 2D data visualization TZBitmapLink

Up

TZBitmapLink properties and example

With this component you can

  • Work with the following kinds of data:
    • Images and image sequences
    • AVI files
    • DIBs
    • 2D-arrays of any type
    • ROI-based images (many small images inside one large image)
  • Easily connect 2D-data to other visualization components such as TZImageBox, TZStereoBox, TZImageViewer, TZThumbNavigator, TZRasterLayer
  • Play image sequences and AVI files forward and backward
  • Organize undo/redo options
  • Use third party libraries for importing different image formats (JPEG, GIF, TIFF ...).

Examples of using this component:

More details

TZBitmapLink allows using images or image sequences without any lines of code! Just set the FileName property to your image file and set Active to true. Following this, the image will be immediately opened. In run-time the image can be accessed via the Bitmap property.

 To open a sequence of images set FileName to a mask of file names (e.g. ‘d:\images\img*.bmp’ or ‘d:\avi\*.avi’), and set the Sequence property to true.  The TZImageViewer component supports a special toolbar and context menu to manage image sequences (see screenshots).

 

TZImageBox - image and 2D data vieweing  TZImageBox

Up

TZImageBox properties and example

This is the basic component for 2D-data visualization. The main features are:

  • visualization of all PixeLook’s 2D-data types (read more)
  • image region of interest (ROI) support
  • many data alignment options (center, stretch, tile...)
  • easy zooming/scrolling of data;
  • manipulation with graphics layers:
    • special toolbar and context menu;
    • active/visible/invisible layers
  • Z-order support for multiple layers drawing;
  • many image transparency options:
    • transparent color
    • opacity
    • alpha-blending with alpha-channel or external alpha-image
  • image resampling with many filters
  • gradient and wallpaper background support
  • image transition support (150 effects are available)

 

Examples of using this component:

More details

The data file can be assigned in design-time via the BitmapLink property. In run-time the data can be visualized directly via the Bitmap property.

See the FAQ about zooming/scrolling of the data in windows.

TZStereoBox - stereovisualization component TZStereoBox

                                   Up

TZStereoBox - properties and example

This component is similar to the TZImageBox but it visualizes two images  in stereo mode. Anaglyph (color and grayscale) and interlaced stereo modes are supported.

Stereo layers are also supported.

 

TZGraphLayer - graphic layer TZGraphLayer

     Up

TZGraphLayer - properties and example

With this component you can:

  • organize any user actions in the following visualization components: TZImageBox, TZStereoBox, TZGraphBox or TZImageViewer
  • provide reaction of the application to mouse and keyboard messages;
  • create a graphics layer over an image; the layer can be made active, visible or invisible

Any visualization component  can have many graphics layers; each layer can implement its specific actions with image based information. All graphics layers have a common toolbar from which you can show/hide and activate/deactivate the layer; active state means that the layer can perform user’s commands. A layer can have also its own set of commands that are appended to the common toolbar and to the context menu.

Examples of using this component:

TZMarkerLayer - vector graphics TZMarkerLayer

  Up

TZMarkerLayer - properties and example

By dropping this component onto your form, your application acquires the capabilities of a powerful vector editor.

The vector layer is a special case of TZGraphLayer, providing a CAD-like interface:

  • work with the following set of vector objects (or with any subset): points, polylines, polygons, rectangles, vectors, circles, ellipses;
  • standard actions with vector objects: node insertion, node/object deletion, node/object dragging, object rotation, polyline/polygon smoothing, multiple object selection, grouping ungrouping;
  • property dialog for customization of visual properties of the layer and its objects
  • associate vector objects with any program objects (such as bitmaps, strings, any structures or classes);
  •  

Examples of using this component:

TZImageRectLayer - rectangle selection component TZImageRectLayer

 Up

Rectangular fragment

This component is a special case of TZMarkerLayer. It is very convenient for selection of rectangular image region.

Examples of using this component:

More details

Check the RectOn property to determine if rectangle is set.

Use the ImageRect property to get the rectangle. The coordinates of the rectangle returned by ImageRect are always clipped by the image dimensions. Use this property to set a new rectangle from a program. Use the SelectAll button/ context menu item/ function to set a rectangle containing a whole image.

TZRegionLayer - region selection component TZRegionLayer

                                   Up

TZRegionLayer and TZRasterLayer example

This is a particular case of TZMarkerLayer. This component is suitable for implementation of region selection tools.  The user can use the following vector objects to create a region: polygon (smoothed or not), rectangle, circle and ellipse. 

Examples of using this component:

More details

Once the object is created by the user the HRGN Windows object is available; it can be accessed via the Region property. Any change of the object causes recreation of the region. Check the property RegionOn to determine if the region exists. To check if an image pixel belongs to the region, the standard Windows API function PtInRegion(Region,X,Y) can be used.

TZImageViewer - image vieweing, analysis and processing TZImageViewer

 Up

TZImageViewer is a image viewing component for with image analysis tools.

Examples of using this component:

TZRasterLayer - raster layer TZRasterLayer

Up

TZRasterLayer and TZRegionLayer example

TZRasterLayer is a special case of TZGraphLayer containing an image. The main features of the image in TZRasterLayer are:

  • it is automatically scaled according to current scale of its parent window
  • it can be located in any place of its parent window; it automatically changes its position according to position of scrollers;
  • it can have any combination of the transparency options:
    • transparent color
    • opacity
    • alpha-blending with alpha-channel

With this component you can:

  • create multilayer image visualization
  • allow the user to work with image layers (make them visible, invisible)
  • create nonstandard or specific visualization of image regions.

Examples of using this component:

 

TZGraphBox - 2D graphics component TZGraphBox

Up

TZGraphBox example

This is a component for visualization of any graphics information (2D-plots, diagrams etc.). All capabilities of zooming/navigation and graphics layers manipulation are the same as for TZImageBox.

Examples of using this component:

 

TZGraph3DBox - 3D graphics component  TZGraph3DBox

Up

3D-plot visualization

This is a component for visualization of 3D-graphics:

  • does not use OpenGL or Direct3D
  • contains procedure to draw in 3D world coordinates
  • surface drawing with hidden parts removal
  • contains many events for response to 3D-view changing

Use this component to represent simple 3D-plots. If you are going to allow the user to change the 3D-view parameters intensively at run-time, then it is better to use TZ3DViewer, which was designed specially for this purpose.

 

TZ3DViewer - 3D viewer component  TZ3DViewer

Up

3D Viewer

This is a complex component consisting of TZGraph3DBox and navigation toolbar. This component is a convenient tool for manipulating 3D-plots. The navigation toolbar allows viewing at different angles and distances.

Examples of using this component:

More details

The component is implemented as a standard TFrame component containing a set of TSpeedButtons and a TZGraph3DBox component. The latter can be accessed via the SurfaceGraphWindow property.

When the user changes the 3D view using the navigation buttons, the OnChanging event occurs. Using this event, the program can provide a visual feedback of view changing. For example, instead of redrawing a full 3D-plot which may be time consuming, the program can draw just the 3D-axes. The OnPaint event is usually used to completely redraw a 3D view.  The boolean property MoveSurfaceAxes indicates whether the 3D view is changing.

TZ3DViewer - 3D viewer component TZThumbNavigator

                                   Up

3D Viewer

In many cases it's preferable to quickly view some set of images. TZThumbNavigator allows you to do that, allowing the user to select any image from the list with the mouse. A developer can provide special actions when an image is selected or deselected. There is also the built-in capability to automatically visualize a selected image at any resolution.

TZThumbNavigator can be considered as a viewer for TZBitmapLink objects. This means that each TZThumbNavigator can visualize thumbnail versions of:

  • a set of memory images;
  • a set of disk images;
  • all frames of an AVI file;
  • all images from any directory with file names satisfying to some mask;
  • all frames of a set of AVI files from any directory with file names satisfying to some mask;
  • ANY COMBINATION of the above cases.

Also the component can visualize:

  • ROI-based images (many small images inside a large one)
  • undo/redo lists

Examples of using this component:

 

TZ3DViewer - 3D viewer component TZVideoLink

                                   Up

3D Viewer

TZVideoLink is a component for video capture from video sources.

TZVideoLink is a descendant from TCustomBitmapLink class. This ensures the compatibility with other components of the library (TZImageBox, TZStereoBox, TZImageViewer, TZThumbNavigator, TZRasterLayer).

TZVideoLink captures a bitmap from a video source and stores it to the TZDataBitmap object. The queue of the previous bitmaps is kept also. This can be useful for many video processing tasks where previous frames should participate in processing.

The developer has flexible control over the component:

  • can set any pixel format of the captured bitmap (1,4,8 - grayscale and color, 15,24,32-bit color). The captured frame is automatically converted to this pixel format.
  • can set the length of the bitmap queue.
  • can handle the following events:
    • new bitmap is captured
    • new raw frame is captured
    • video format is changed
  • can switch between video sources;
  • can access to control panels supported by video drivers

Examples of using this component:

More details

TZVideoLink and TZBitmapLink have the same ancestor, so video capture can be seamlessly integrated into an application if it uses TZBitmapLink component.