Help / WLanguage / WLanguage functions / Controls, pages and windows / Drawing functions
  • Use in prefix syntax
  • Characteristics of drawings in the browser
  • Drawing in Browser code
  • Drawing with opacity
  • Pattern and PHP
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WindowsLinuxPHPWEBDEV - Browser code
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Stored procedures
Indicates that the drawing functions that will be used are intended for the specified Image control.
Remark: <Image>.StartDrawing initializes all the parameters required to create a drawing for a given element.
Linux Caution: A specific configuration is required to use this function in Linux. For more details, see The drawings.
// Start drawing in the "IMG_ImageDrawing" control
ResDrawing = IMG_ImageDrawing.StartDrawing()
// Drawings performed in the "IMG_ImageDrawing" control
// End of drawing in the "IMG_ImageDrawing" control
IMG_Image1.Font("Arial", 12, iNormal, 0)
IMG_Image1.DrawText(4, 0, "I'm writing in an Image control!")
<Result> = <Image control>.StartDrawing([<Options>])
<Result>: System integer
  • Memory DC (device context) of the Image control,
  • 0 if an error occurs. This parameter can be used to call system routines (functions of Windows API). In this case, we recommend that you use a system integer.
AndroidJava Special case:
  • 1 if successful,
  • 0 if an error occurs.
<Image control>: Control name
Name of the Image control to be used.
<Options>: Optional Integer constant (or combination of constants)
Drawing options:
WEBDEV - Browser code In browser code, used to optimize the drawing performance on an image. The drawing is displayed in the Image control once the user has finished their action.
WEBDEV - Browser code In browser code, it delays the display of the drawing. The drawing will be displayed in the Image control after the call to dDisplay.
(Default value)
Erases the drawing found in the Image control.
dGridlinesOpacityThe drawing is displayed over gridlines in order to highlight the transparent or semi-transparent sections of the drawing. The gridlines are not saved in the image.
Universal Windows 10 AppiPhone/iPadIOS WidgetMac CatalystPHP This constant is not available.
dNoEraseDoes not erase the drawing found in the Image control.
dOnChartUsed to draw in an Image control in which a chart was already drawn. In this case, the chart drawing is not erased.
Universal Windows 10 AppiPhone/iPadIOS WidgetMac CatalystPHP This constant is not available.
dWithOpacityAllows the opacity to be managed in the different drawing functions used by the Image control. Used for example to create a PNG drawing with an Alpha channel.

Use in prefix syntax

  • <Image>.StartDrawing must be called before the other drawing functions. <Image>.StartDrawing makes it possible to define the drawing options used in the Image control.
  • * When drawing in an Image control:
    • the drawing functions operate on a copy ("bitmap") of image. You can use the drawing functions of Windows (via API or CallDLL32) but these Windows functions must use the DC (Device Context) returned by <Image>.StartDrawing.
    • <Image>.EndDrawing and <Image>.StartDrawing must not be called in the same process. The drawing will not be displayed if <Image>.EndDrawing and <Image>.StartDrawing are called in the same process: it will be automatically erased.
WEBDEV - Browser code

Characteristics of drawings in the browser

In browser code, transferring the drawing into the image can be quite long (several drawing functions will be used).
To optimize the drawing in the image, the drawing can be displayed once the drawing functions have been used. To do so, simply:
  1. Start the drawing with <Image>.StartDrawing using the dDisplayManual constant.
  2. Use the drawing functions to create the drawing.
  3. Use dDisplay to display the drawing in the image.
WEBDEV - Browser code

Drawing in Browser code

Some drawing functions are available in Browser code. The drawing functions in Browser code are based on the HTML 5 standard. More specifically, these functions are based on the "canvas" tag of HTML 5.
The drawing features in browser code are available for the recent browsers only (supporting the HTML 5 standard). To find out whether the drawing features are proposed by your browser, use DrawingAvailable.
Caution: To use the drawing functions with Internet Explorer 9, the project must include the reference to the DTD file. To do so, the HTML mode must be "HTML 4.01 Transitional + DTD". This option is available in the "Advanced" tab of the project description window.
Reminder: To open the project description window, go to the "Project" tab, "Project" group and click "Description".
Special case: Drawing in the browser of an Android phone: The browser drawing functions are only available starting with version 3 of Android.
WINDEVWEBDEV - Server codeReports and QueriesUniversal Windows 10 AppAndroidJavaUser code (UMC)PHPAjax

Drawing with opacity

By creating a drawing that supports opacity, you can easily save PNG images with an Alpha channel.
To save a PNG drawing with an Alpha channel:
  1. Use the <Image>.StartDrawing function. This function is used to define, if necessary, the element onto which the drawing functions will be applied as well as the drawing mode. The dWithOpacity constant is used to indicate that the drawing will manage the opacity. The dGridlinesOpacity constant is used to display gridlines underneath the different drawing areas.
  2. Configure the opacity of your drawings with the following functions:
    <Image>.BackgroundDeclares the background color and its opacity for the next drawings.
    <Image>.DrawPointDeclares the color of the points and their opacity for the next drawings.
    <Image>.PenDeclares the color of the lines and their opacity for the next drawings.

    Remark: <Image>.PixelOpacity is used to find out the opacity of a point.
  3. Use <Image>.SavePNG to save your drawing in PNG format with alpha channel (opacity).
Limit: In "Management of opacity" mode, <Image>.DrawText is limited to the use of True Type fonts.

Pattern and PHP

In PHP, the drawing functions are based on the graphic library GD. This library is commonly used by the PHP hosting providers and therefore it is always enabled. The version of the GD library must be version 2.0.28 (or later). This library can be downloaded from the PHP site.
To enable (if necessary) this library locally, the following elements are required:
  • PHP installed.
  • the PHP.INI file found in the Windows directory must contain the following line: "extension=php_gd2.dll" (instead of ";extension=php_gd2.dll").
  • the php_gd2.dll file must exist in the directory of PHP extensions. This directory is defined in the PHP.INI file by the "extension_dir" variable.
Related Examples:
The drawing functions Unit examples (WINDEV): The drawing functions
[ + ] Using the main drawing functions of WINDEV to:
- Initialize an Image control for drawing
- Draw simple shapes
- Write a text into a drawing
- Change the color in a drawing
Component: wd290pnt.dll
Minimum version required
  • Version 24
This page is also available for…
Click [Add] to post a comment

Last update: 01/18/2024

Send a report | Local help