.
Often, when working with HALCON, you need to export images and the output of HALCON (e.g. features and results drawn into the image) via a simple interface to C#, C++, or the C world. A little known fact is that HALCON can draw graphics into images with the use of window buffers as in the following example:
* Project: Drawing into HALCON images. * dump_window.hdev * Copyright (C) 2016, Andreas Heindl Software Solutions * Contact: http://www.heindl-solutions.com/contact/ * * EXAMPLE CODE read_image (Image, 'fabrik') get_image_size (Image, Width, Height) * Set window type to pixmap to be sure to run the same on any platform * and open a buffer window in memory. * We should save window type to restore it after opening the window. * Pixmap buffers don't support e.g. writing text. Use the default window * type if you need that, i.e. disable setting with set_window_type NeedFontSupport := false if (not NeedFontSupport) get_window_type ('default', LastWindowType) set_window_type ('pixmap') endif open_window (0, 0, Width, Height, 0, 'buffer', '', WindowHandle) if (not NeedFontSupport) set_window_type (LastWindowType) endif set_part (WindowHandle, 0, 0, Height-1, Width-1) * Example image processing code disp_obj (Image, WindowHandle) edges_sub_pix (Image, Edges, 'canny', 1, 20, 40) set_colored (WindowHandle, 12) disp_obj (Edges, WindowHandle) disp_line (WindowHandle, 32, 32, 64, 64) if (NeedFontSupport) write_string (WindowHandle, 'hello') endif * Export window buffer to a HALCON image dump_window_image (ImageDump, WindowHandle) close_window (WindowHandle)
You can download the example HDevelop program here: