PC SOFT

ONLINE HELP
FOR WINDEV, WEBDEV AND WINDEV MOBILE

Home | Sign in | English US
  • Special cases
  • Characteristics of drawings in the browser
  • Drawing in Browser code
  • Drawing with management of opacity in an Image control
  • dStartDrawing, zoom and automatic scrollbars
  • Drawing in PHP
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
Indicates that the drawing functions that will be used are intended for:
  • the specified Image control,
  • Versions 17 and later
    WINDEVWEBDEV - Server codeReports and QueriesWindowsLinuxWindows MobileUser code (UMC) an Image variable.
    New in version 17
    WINDEVWEBDEV - Server codeReports and QueriesWindowsLinuxWindows MobileUser code (UMC) an Image variable.
    WINDEVWEBDEV - Server codeReports and QueriesWindowsLinuxWindows MobileUser code (UMC) an Image variable.
    an Image variable.
    WEBDEV - Browser codeWindows MobilePHP This type of variable is not available.
Note: dStartDrawing initializes all the parameters required to create a drawing for a given element.
Versions 15 and later
WEBDEV - Server codeLinux This function is now available for the WEBDEV sites in Linux.
Linux Caution: A specific configuration is required to use this function in Linux. See The drawings for more details.
New in version 15
WEBDEV - Server codeLinux This function is now available for the WEBDEV sites in Linux.
Linux Caution: A specific configuration is required to use this function in Linux. See The drawings for more details.
WEBDEV - Server codeLinux This function is now available for the WEBDEV sites in Linux.
Linux Caution: A specific configuration is required to use this function in Linux. See The drawings for more details.
Versions 16 and later
Android This function is now available for the Android applications.
WEBDEV - Browser code This function is now available in Browser code.
Universal Windows 10 App This function is now available for the Windows Phone applications.
New in version 16
Android This function is now available for the Android applications.
WEBDEV - Browser code This function is now available in Browser code.
Universal Windows 10 App This function is now available for the Windows Phone applications.
Android This function is now available for the Android applications.
WEBDEV - Browser code This function is now available in Browser code.
Universal Windows 10 App This function is now available for the Windows Phone applications.
Versions 17 and later
iPhone/iPad This function is now available for the iPhone/iPad applications.
New in version 17
iPhone/iPad This function is now available for the iPhone/iPad applications.
iPhone/iPad This function is now available for the iPhone/iPad applications.
Versions 18 and later
Universal Windows 10 App This function is now available in Windows Store apps mode.
New in version 18
Universal Windows 10 App This function is now available in Windows Store apps mode.
Universal Windows 10 App This function is now available in Windows Store apps mode.
Versions 21 and later
Universal Windows 10 App This function is now available in Universal Windows 10 App mode.
New in version 21
Universal Windows 10 App This function is now available in Universal Windows 10 App mode.
Universal Windows 10 App This function is now available in Universal Windows 10 App mode.
Example
// 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
dStartDrawing(IMG_Image1)
dFont("Arial", 12, iNormal, 0)
dText(4, 0, "I am writing my text in an Image control!")
Syntax

Starting a drawing in an Image control Hide the details

<Result> = dStartDrawing(<Element> [, <Options>])
<Result>: System integer
  • Memory DC (device context) of the Image control,
  • 0 if an error occurred.
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 occurred.
<Element>: Character string (with or without quotes)
Name of Image control where the drawing will be performed.
<Options>: Optional Integer constant (or combination of constants)
Drawing options:
Versions 22 and later
dDisplayAsynchronous
New in version 22
dDisplayAsynchronous
dDisplayAsynchronous
WEBDEV - Browser code In browser code, used to optimize the drawing performances on an image. The Image control contains the drawing when the user action is over.
Versions 16 and later
dDisplayManual
New in version 16
dDisplayManual
dDisplayManual
WEBDEV - Browser code In browser code, used to carry over the display of drawing. The drawing will be displayed in the Image control after the call to dDisplay.
dWithOpacityAllows the opacity to be managed in the different drawing functions used by the Image control. Used for example to create a drawing saved in PNG format with management of alpha layer.
Windows Mobile This constant is not available.
dErase
(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 drawing. The gridlines are not saved in the image.
iPhone/iPadWindows MobileUniversal Windows 10 AppPHP 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.
iPhone/iPadUniversal Windows 10 AppPHP This constant is not available.
Versions 17 and later
WINDEVWEBDEV - Server codeReports and QueriesUser code (UMC)

Starting the drawing in an Image variable Hide the details

<Result> = dStartDrawing(<Element> [, <Options>])
<Result>: Boolean
  • True if the drawing was initialized,
  • False otherwise.
<Element>: Image variable
Name of Image variable.
<Options>: Optional Integer constant (or combination of constants)
Drawing options:
dWithOpacityAllows the opacity to be managed in the different drawing functions used by the Image variable. Used for example to create a drawing saved in PNG format with management of alpha layer.
dGridlinesOpacityThe drawing is displayed on a gridline in order to highlight the transparent or semi-transparent sections of drawing. The gridlines are not saved in the image.
AndroidUniversal Windows 10 AppJava This constant is not available.
dNoEraseDoes not erase the drawing found in the Image variable.
dOnChartUsed to draw in an Image variable in which a chart was already drawn. In this case, the chart drawing is not erased.
AndroidUniversal Windows 10 AppJava This constant is not available.
No drawing option is used if this parameter is not specified.
WINDEVWEBDEV - Server codeReports and QueriesAndroidUniversal Windows 10 AppJavaUser code (UMC)

Starting the drawing in an Image variable Hide the details

<Result> = dStartDrawing(<Element> [, <Options>])
<Result>: Boolean
  • True if the drawing was initialized,
  • False otherwise.
<Element>: Image variable
Name of Image variable.
<Options>: Optional Integer constant (or combination of constants)
Drawing options:
dWithOpacityAllows the opacity to be managed in the different drawing functions used by the Image variable. Used for example to create a drawing saved in PNG format with management of alpha layer.
dGridlinesOpacityThe drawing is displayed on a gridline in order to highlight the transparent or semi-transparent sections of drawing. The gridlines are not saved in the image.
AndroidUniversal Windows 10 AppJava This constant is not available.
dNoEraseDoes not erase the drawing found in the Image variable.
dOnChartUsed to draw in an Image variable in which a chart was already drawn. In this case, the chart drawing is not erased.
AndroidUniversal Windows 10 AppJava This constant is not available.
No drawing option is used if this parameter is not specified.
New in version 17
WINDEVWEBDEV - Server codeReports and QueriesUser code (UMC)

Starting the drawing in an Image variable Hide the details

<Result> = dStartDrawing(<Element> [, <Options>])
<Result>: Boolean
  • True if the drawing was initialized,
  • False otherwise.
<Element>: Image variable
Name of Image variable.
<Options>: Optional Integer constant (or combination of constants)
Drawing options:
dWithOpacityAllows the opacity to be managed in the different drawing functions used by the Image variable. Used for example to create a drawing saved in PNG format with management of alpha layer.
dGridlinesOpacityThe drawing is displayed on a gridline in order to highlight the transparent or semi-transparent sections of drawing. The gridlines are not saved in the image.
AndroidUniversal Windows 10 AppJava This constant is not available.
dNoEraseDoes not erase the drawing found in the Image variable.
dOnChartUsed to draw in an Image variable in which a chart was already drawn. In this case, the chart drawing is not erased.
AndroidUniversal Windows 10 AppJava This constant is not available.
No drawing option is used if this parameter is not specified.
WINDEVWEBDEV - Server codeReports and QueriesAndroidUniversal Windows 10 AppJavaUser code (UMC)

Starting the drawing in an Image variable Hide the details

<Result> = dStartDrawing(<Element> [, <Options>])
<Result>: Boolean
  • True if the drawing was initialized,
  • False otherwise.
<Element>: Image variable
Name of Image variable.
<Options>: Optional Integer constant (or combination of constants)
Drawing options:
dWithOpacityAllows the opacity to be managed in the different drawing functions used by the Image variable. Used for example to create a drawing saved in PNG format with management of alpha layer.
dGridlinesOpacityThe drawing is displayed on a gridline in order to highlight the transparent or semi-transparent sections of drawing. The gridlines are not saved in the image.
AndroidUniversal Windows 10 AppJava This constant is not available.
dNoEraseDoes not erase the drawing found in the Image variable.
dOnChartUsed to draw in an Image variable in which a chart was already drawn. In this case, the chart drawing is not erased.
AndroidUniversal Windows 10 AppJava This constant is not available.
No drawing option is used if this parameter is not specified.
WINDEVWEBDEV - Server codeReports and QueriesUser code (UMC)

Starting the drawing in an Image variable Hide the details

<Result> = dStartDrawing(<Element> [, <Options>])
<Result>: Boolean
  • True if the drawing was initialized,
  • False otherwise.
<Element>: Image variable
Name of Image variable.
<Options>: Optional Integer constant (or combination of constants)
Drawing options:
dWithOpacityAllows the opacity to be managed in the different drawing functions used by the Image variable. Used for example to create a drawing saved in PNG format with management of alpha layer.
dGridlinesOpacityThe drawing is displayed on a gridline in order to highlight the transparent or semi-transparent sections of drawing. The gridlines are not saved in the image.
AndroidUniversal Windows 10 AppJava This constant is not available.
dNoEraseDoes not erase the drawing found in the Image variable.
dOnChartUsed to draw in an Image variable in which a chart was already drawn. In this case, the chart drawing is not erased.
AndroidUniversal Windows 10 AppJava This constant is not available.
No drawing option is used if this parameter is not specified.
WINDEVWEBDEV - Server codeReports and QueriesAndroidUniversal Windows 10 AppJavaUser code (UMC)

Starting the drawing in an Image variable Hide the details

<Result> = dStartDrawing(<Element> [, <Options>])
<Result>: Boolean
  • True if the drawing was initialized,
  • False otherwise.
<Element>: Image variable
Name of Image variable.
<Options>: Optional Integer constant (or combination of constants)
Drawing options:
dWithOpacityAllows the opacity to be managed in the different drawing functions used by the Image variable. Used for example to create a drawing saved in PNG format with management of alpha layer.
dGridlinesOpacityThe drawing is displayed on a gridline in order to highlight the transparent or semi-transparent sections of drawing. The gridlines are not saved in the image.
AndroidUniversal Windows 10 AppJava This constant is not available.
dNoEraseDoes not erase the drawing found in the Image variable.
dOnChartUsed to draw in an Image variable in which a chart was already drawn. In this case, the chart drawing is not erased.
AndroidUniversal Windows 10 AppJava This constant is not available.
No drawing option is used if this parameter is not specified.
Remarks

Special cases

  • 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.
Versions 16 and later
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, you must:
  1. Start the drawing with dStartDrawing associated with the dForceDisplay constant.
  2. Use the drawing functions to create the drawing.
  3. Use dDisplay to display the drawing in the image.
New in version 16
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, you must:
  1. Start the drawing with dStartDrawing associated with the dForceDisplay constant.
  2. Use the drawing functions to create the drawing.
  3. Use dDisplay to display the drawing in the image.
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, you must:
  1. Start the drawing with dStartDrawing associated with the dForceDisplay constant.
  2. Use the drawing functions to create the drawing.
  3. Use dDisplay to display the drawing in the image.
Versions 16 and later
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". This option is available in the "Advanced" tab of description window of project ("Project .. Project description"), "Advanced" button, "W3C standard" option.
Caution: To use the drawing functions with Internet Explorer 9, the project must "include the reference to the DTD file". This option is available in the "Advanced" tab of the description window of the project ("Project .. Project description").
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 display the description window of the project, on the "Project" pane, in the "Project" group, 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.
New in version 16
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". This option is available in the "Advanced" tab of description window of project ("Project .. Project description"), "Advanced" button, "W3C standard" option.
Caution: To use the drawing functions with Internet Explorer 9, the project must "include the reference to the DTD file". This option is available in the "Advanced" tab of the description window of the project ("Project .. Project description").
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 display the description window of the project, on the "Project" pane, in the "Project" group, 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.
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". This option is available in the "Advanced" tab of description window of project ("Project .. Project description"), "Advanced" button, "W3C standard" option.
Caution: To use the drawing functions with Internet Explorer 9, the project must "include the reference to the DTD file". This option is available in the "Advanced" tab of the description window of the project ("Project .. Project description").
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 display the description window of the project, on the "Project" pane, in the "Project" group, 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 QueriesAndroidUniversal Windows 10 AppJavaPHPAjaxUser code (UMC)

Drawing with management of opacity in an Image control

Creating a drawing with management of opacity is used to easily save the images in PNG format with management of Alpha layer.
Versions 16 and later
Java The management of opacity is now available for the Java applications.
Android The management of opacity is now available for the Android applications.
New in version 16
Java The management of opacity is now available for the Java applications.
Android The management of opacity is now available for the Android applications.
Java The management of opacity is now available for the Java applications.
Android The management of opacity is now available for the Android applications.
To save a PNG drawing with management of Alpha layer:
  1. Use dStartDrawing. This function is used to define 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:
    dBackGroundDeclares the background color and its opacity for the next drawings.
    dPointDeclares the color of the points and their opacity for the next drawings.
    dPenDeclares the color of the lines and their opacity for the next drawings.

    Note: dPixelOpacity is used to find out the opacity of a point.
  3. Use dSaveImagePNG to save your drawing in PNG format with management of alpha layer (opacity).
Limit: In "Management of opacity" mode, dText is limited to the use of True Type fonts.
WINDEVAndroidiPhone/iPadUser code (UMC)

dStartDrawing, zoom and automatic scrollbars

The "Automatic scrollbars and zoom" option available for an Image control is not compatible with dStartDrawing. If this option is used on the Image control, the display performed by dStartDrawing is fixed in the control. The zoom and the scrollbars are also fixed. The standard behavior is restored during the call to dEndDrawing.
PHP

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.
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
Components
WINDEVWEBDEV - Server codeReports and Queries wd230pnt.dll
Windows Mobile wp230pnt.dll
WEBDEV - Browser code WDJS.DLL
Java wd230java.jar
Linux wd230pnt.so
Android wd230android.jar
Minimum required version
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment