ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Controls, pages and windows / Drawing functions
  • Coordinates
  • Using the drawing functions
  • Pattern and PHP
  • Drawing in Browser code
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Draws a rectangle:
  • in an Image control,
  • in a variable of type Image.
    WEBDEV - Browser codePHP This type of variable is not available.
  • WINDEVWEBDEV - Server code in a variable of type WDPic (on the background layer),
  • WINDEVWEBDEV - Server code in a variable of type picLayer.
Remark: To draw custom rectangles, it is recommended to use dBorder.
Linux Caution: A specific configuration is required to use this function in Linux. For more details, see The drawings.
// Initialize the drawing in an Image control
dStartDrawing(IMG_Drawing)
 
// Draw a rectangle with a light yellow background
// and light blue borders
dRectangle(10, 10, 50, 50, LightYellow, LightBlue)
WINDEVWEBDEV - Server codeReports and QueriesUniversal Windows 10 AppiPhone/iPadIOS WidgetMac CatalystUser code (UMC)Ajax
// Draw a rectangle with a light yellow background
// and light blue borders
dRectangle(IMG_Drawing, 10, 10, 50, 50, LightYellow, LightBlue)
Syntax

Drawing a rectangle by specifying the coordinates of rectangle Hide the details

dRectangle([<Image>, ] <X1> , <Y1> , <X2> , <Y2> [, <Background> [, <Line>]])
<Image>: Optional control name or optional Image, WDPic or picLayer variable
Reports and QueriesWindowsLinuxUniversal Windows 10 AppAndroidiPhone/iPadIOS WidgetMac CatalystJavaUser code (UMC) Image to use. The image can correspond to:
  • the name of an Image control.
  • the name of a variable of type Image.
  • WINDEVWEBDEV - Server code the name of a variable of type WDPic. Only the background layer will be handled.
  • WINDEVWEBDEV - Server code the name of a variable of type picLayer.
If this parameter is not specified, it is necessary to define the drawing destination with dStartDrawing.
<X1>: Integer
X-coordinate (in pixels) of the upper-left corner of the rectangle.
<Y1>: Integer
Y-coordinate (in pixels) of the upper-left corner of the rectangle.
<X2>: Integer
X-coordinate (in pixels) of the lower-right corner of the rectangle.
<Y2>: Integer
Y-coordinate (in pixels) of the lower-right corner of the rectangle.
<Background>: Integer, constant or Background variable (optional)
  • Background color of rectangle. This color can be:
  • Background characteristics:
    • WINDEVWEBDEV - Server codeUniversal Windows 10 AppiPhone/iPadIOS WidgetMac Catalyst variable of type Background. In this case, the gradient defined in the variable is ignored.
      Android Background variables are not available in this syntax. Use dBorder to customize the background color.
    • characteristics specified in the last call to dBackground if this parameter is not specified.
To use a gradient background color, call dRectangleGradient.
<Line>: Integer, constant or Border variable (optional)
  • Color of rectangle line. This color can be:
    • an RGB color (returned by RGB),
    • an HSL color (returned by HSL),
    • a WLanguage preset color,
    • WINDEVWEBDEV - Server codeUniversal Windows 10 AppiPhone/iPadIOS WidgetMac Catalyst a variable of type Color,
    • identical to the color used for the background if this parameter is not specified and if dPen has not been used.
  • Characteristics of the line:
    • WINDEVWEBDEV - Server codeiPhone/iPadIOS WidgetMac Catalyst variable of type Border. In this case, only the following properties are taken into account:
      • Color: if the property is set to ColorUndefined, the color defined in the last call to dPen is used. If this function has not been used, the background color of the rectangle will be used.
      • Thickness: if the property is set to ThicknessUndefined, the thickness defined in the last call to dPen is used. If this function has not been used, the thickness will be set to 1.
      • Line: if the property is set to LineUndefined, the type of line defined in the last call to dPen is used. If this function has not been used, the line will be solid.
      • Android Border variables are not available in this syntax. Use dBorder to customize the borders.
    • characteristics specified in the last call to dPen if this parameter is not specified.
WINDEVWEBDEV - Server codeUniversal Windows 10 AppAndroidiPhone/iPadIOS WidgetMac CatalystJava

Drawing a rectangle via a Rectangle variable Hide the details

dRectangle([<Image>, ] <Rectangle> [, <Background> [, <Line>]])
<Image>: Optional control name or optional Image, WDPic or picLayer variable
Reports and QueriesWindowsLinuxUniversal Windows 10 AppAndroidiPhone/iPadIOS WidgetMac CatalystJavaUser code (UMC) Image to use. The image can correspond to:
  • the name of an Image control.
  • the name of a variable of type Image.
  • WINDEVWEBDEV - Server code the name of a variable of type WDPic. Only the background layer will be handled.
  • WINDEVWEBDEV - Server code the name of a variable of type picLayer.
If this parameter is not specified, it is necessary to define the drawing destination with dStartDrawing.
<Rectangle>: Rectangle variable
Name of the Rectangle variable that defines the coordinates of the rectangle to draw.
<Background>: Integer, constant or Background variable (optional)
  • Background color of rectangle. This color can be:
  • Background characteristics:
    • variable of type Background. In this case, the gradient defined in the variable is ignored.
      Java This type of variable is not available.
      Android Background variables are not available in this syntax. Use dBorder to customize the background color.
    • characteristics specified in the last call to dBackground if this parameter is not specified.
To use a gradient background color, call dRectangleGradient.
<Line>: Integer, constant or Border variable (optional)
  • Color of rectangle line. This color can be:
    • an RGB color (returned by RGB),
    • an HSL color (returned by HSL),
    • a WLanguage preset color,
    • a variable of type Color,
    • identical to the color used for the background if this parameter is not specified and if dPen has not been used.
  • Characteristics of the line:
    • WINDEVWEBDEV - Server codeiPhone/iPadIOS WidgetMac Catalyst variable of type Border. In this case, only the following properties are taken into account:
      • Color: if the property is set to ColorUndefined, the color defined in the last call to dPen is used. If this function has not been used, the background color of the rectangle will be used.
      • Thickness: if the property is set to ThicknessUndefined, the thickness defined in the last call to dPen is used. If this function has not been used, the thickness will be set to 1.
      • Line: if the property is set to LineUndefined, the type of line defined in the last call to dPen is used. If this function has not been used, the line will be solid.
      Android Border variables are not available in this syntax. Use dBorder to customize the borders.
    • characteristics specified in the last call to dPen if this parameter is not specified.
Remarks

Coordinates

Coordinates are specified with respect to the upper-left corner of the image or Image control (coordinates: (0,0)).

Using the drawing functions

The drawing functions can be used according to 2 methods:
  • Method 1: Using dStartDrawing
    • dStartDrawing must be called before any other drawing function. dStartDrawing is used to define the element (Image control or variable) to which the drawing functions will be applied.
    • When drawing on an Image control:
      • The drawing functions operate on a copy ("bitmap") of the image. You can use the drawing functions of Windows (via API or CallDLL32) but these 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.
  • Reports and QueriesWindowsLinuxUniversal Windows 10 AppAndroidiPhone/iPadIOS WidgetMac CatalystJavaUser code (UMC) Method 2: indicating the drawing target directly in the syntax (via a parameter)
    The <Image> parameter is used to specify directly the target of the drawing. dStartDrawing becomes useless. This function must be deleted.
PHP

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.
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.
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
Business / UI classification: Neutral code
Component: wd290pnt.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 01/18/2024

Send a report | Local help