- Use in prefix syntax
- Characteristics of drawings in the browser
- Drawing in Browser code
- Drawing with opacity
- Drawing in PHP
In french: <Image>.DébutDessin
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.
: 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.
- 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)
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.
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 <Image>.StartDrawing 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.
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…