- Special cases
- Characteristics of drawings in the browser
- Drawing in Browser code
- Drawing with opacity
- dStartDrawing, zoom and automatic scrollbars
- Drawing in PHP
In french: dDébutDessin
// Start drawing in the "IMG_ImageDrawing" control
ResDrawing = dStartDrawing(IMG_ImageDrawing)
// Drawings performed in the "IMG_ImageDrawing" control
// End of drawing in the "IMG_ImageDrawing" control
dFont("Arial", 12, iNormal, 0)
dText(4, 0, "I am writing my text in an Image control!")
Starting a drawing in an Image control Hide the details
<Result> = dStartDrawing(<Image control> [, <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.
- 1 if successful,
- 0 if an error occurs.
<Image control>: Control name
Name of Image control where the drawing will be performed.
<Options>: Optional Integer constant (or combination of constants)
- dStartDrawing must be called before the other drawing functions. dStartDrawing is used to define the element (Image control or Image variable) onto which the drawing functions will be applied.
- 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 dStartDrawing.
- dEndDrawing and dStartDrawing must not be called in the same process. The drawing will not be displayed if dEndDrawing and dStartDrawing are called in the same process: it will be automatically erased.
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:
- Start the drawing with dStartDrawing using the dDisplayManual constant.
- Use the drawing functions to create the drawing.
- Use dDisplay to display the drawing in the image.
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 description window of project.
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.
dStartDrawing, zoom and automatic scrollbars
The "Automatic scrollbars and zoom" option, available on Image controls, is incompatible with dStartDrawing
. If this option is used on the Image control, dStartDrawing
freezes the image. The zoom and the scrollbars are also frozen. The standard behavior is restored when dEndDrawing
Drawing in PHP
In PHP, the drawing functions are based on the graphic library GD. This library is commonly used by the PHP hosting companies 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.
Unit examples (WINDEV): The drawing functions
This page is also available for…