ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

This content has been translated automatically.  Click here  to view the French version.
Help / WLanguage / WLanguage functions / Controls, pages and windows / Drawing functions
  • Coordinates
  • Drawing with opacity or anti-aliasing
  • Using the drawing functions
WINDEV
WindowsLinuxJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac Catalyst
Others
Stored procedures
Draws a polygon:
  • in an Image control,
  • in a variable of type Image.
// Initialise le dessin dans un champ Image
dStartDrawing(IMG_Dessin)
// Dessin d'un polygone à 4 côtés dont le
// fond est jaune clair et le bord bleu clair
dPolygon(4, 10, 20, 20, 50, 40, 60, 50, 10, LightYellow, LightBlue)
Reports and Queries
// Dessin d'un polygone à 4 côtés dont le 
// fond est jaune clair et le bord bleu clair
dPolygon(IMG_Dessin, 4, 10, 20, 20, 50, 40, 60, 50, 10, LightYellow, LightBlue)
Reports and QueriesWindows
// Dessin d'un polygone à partir d'un tableau de coordonnées de points
tabCoordonnéesXY is array of 0 by 2 int = [[2, 3], [14, 100], [10,70], [50, 80]]
dPolygon(tabCoordonnéesXY)
tabCoordonnéesXY2 is array of 0 int = [2, 2, 140, 2, 150, 70, 0, 100, 200, 100]
dPolygon(tabCoordonnéesXY2)
tabCoordonnéesXYC is array of 36 by 2 int
Rayon is int = 50
FOR I = 1 TO 36
	// x
	tabCoordonnéesXYC[I][1] = 80 + Cos(I*10) * Rayon
	// y
	tabCoordonnéesXYC[I][2] = 60 + Sin(I*10) * Rayon
END
dPolygon(tabCoordonnéesXYC, LightGray, TooltipYellow)
Syntax

Building a polygon point by point Hide the details

dPolygon([<Image>, ] <Number of sides> , <X1> , <Y1> , <X2> , <Y2> [, <X3> , <Y3> [... [, <Xn> , <Yn>]]] [, <Background color> [, <Side color>]])
<Image>: Optional control name or optional Image, WDPic or picLayer variable
Reports and QueriesWindows Image to use. This image can correspond to:
  • the name of an Image control.
  • the name of a variable of type Image.
If this parameter is not specified, it is necessary to define the drawing destination with dStartDrawing.
<Number of sides>: Integer
Number of sides in the polygon (up to 23 sides). This parameter defines the number of <X>, <Y> pairs to specify in the function.
<X1>: Integer
X-coordinate of first point of the polygon. These coordinates are expressed in pixels.
<Y1>: Integer
Y-coordinate of first point of the polygon. These coordinates are expressed in pixels.
<X2>: Integer
X-coordinate of second point of the polygon. These coordinates are expressed in pixels.
<Y2>: Integer
Y-coordinate of second point of the polygon. These coordinates are expressed in pixels.
<X3>: Integer
X-coordinate of 3rd point of the polygon. These coordinates are expressed in pixels.
<Y3>: Integer
Y-coordinate of 3rd point of the polygon. These coordinates are expressed in pixels.
<Xn>: Optional integer
X-coordinate of nth point of the polygon. These coordinates are expressed in pixels.
<Yn>: Optional integer
Y-coordinate of nth point of the polygon. These coordinates are expressed in pixels.
<Background color>: Integer or constant (optional)
Polygon background color. This color can correspond to:
If this parameter is not specified, the background color:
  • is Transparent if dBackground has not been used beforehand,
  • corresponds to the color specified in the last call to dBackground.
<Side color>: Integer or constant (optional)
Color of polygon sides. This color can correspond to:
If this parameter is not specified, the line color:
  • is Transparent if dPen has not been previously used.
    For a variable of type Image, the line will be black.
  • corresponds to the color specified in the last call to dPen.

Building a polygon via an array of X and Y-coordinates Hide the details

dPolygon([<Image>, ] <Array of coordinates> [, <Background color> [, <Side color>]])
<Image>: Optional control name or optional Image, WDPic or picLayer variable
Reports and QueriesWindows Image to use. This image can correspond to:
  • the name of an Image control.
  • the name of a variable of type Image.
If this parameter is not specified, it is necessary to define the drawing destination with dStartDrawing.
<Array of coordinates>: Array of integers or array of points
  • WLanguage array of integers containing the coordinates of polygon points. The even indexes represent the X-coordinates while the odd indexes represent the Y-coordinates of the points. These coordinates are expressed in pixels.
<Background color>: Integer or constant (optional)
Polygon background color. This color can correspond to:If this parameter is not specified, the background color:
  • is Transparent if dBackground has not been used beforehand,
  • corresponds to the color specified in the last call to dBackground.
<Side color>: Integer or constant (optional)
Color of polygon sides. This color can correspond to:If this parameter is not specified, the line color:
  • is Transparent if dPen has not been previously used.
    For a variable of type Image, the line will be black.
  • corresponds to the color specified in the last call to dPen.
Reports and QueriesWindows

Building a polygon from a variable of type Polygon Hide the details

dPolygon([<Image>, ] <Polygon> [, <Background color> [, <Side color>]])
<Image>: Optional control name or optional Image, WDPic or picLayer variable
Reports and QueriesWindows Image to use. This image can correspond to:
  • the name of an Image control.
  • the name of a variable of type Image.
If this parameter is not specified, it is necessary to define the drawing destination with dStartDrawing.
<Polygon>: Polygon variable
Name of the Polygon variable that describes the different points of the polygon.
<Background color>: Integer or constant (optional)
Polygon background color. This color can correspond to:If this parameter is not specified, the background color:
  • is Transparent if dBackground has not been used beforehand,
  • corresponds to the color specified in the last call to dBackground.
<Side color>: Integer or constant (optional)
Color of polygon sides. This color can correspond to:If this parameter is not specified, the line color:
  • is Transparent if dPen has not been previously used.
    For a variable of type Image, the line will be black.
  • corresponds to the color specified in the last call to dPen.
Remarks

Coordinates

Drawing a polygon:
dPolygon(5, 80, 10, 10, 150, 100, 200, 160, 80, 140, 40)
Drawing a polygon
Coordinates are specified with respect to the upper-left corner of the image (coordinates: (0.0)).
Important You don't need to close the polygon (the coordinates of the last point don't have to be equal to the coordinates of the first point). The polygon is automatically "closed".
Limits A polygon can have a maximum of 100,000 points in WINDEV, WEBDEV and Java, and 1,000 points in Windows CE.
Reports and QueriesWindows

Drawing with opacity or anti-aliasing

In the case of drawing with opacity (function dStartDrawing with constant dWithOpacity) or anti-aliasing (function dChangeMode with constant drawingAntiAliasing), the outline is drawn on top of the polygon interior: the line is therefore partly combined with the polygon interior. If the line is very thick, it will be displayed in two colors.

Using the drawing functions

The drawing functions can be used according to 2 methods:
  • Method 1: Using the dDrawingStartfunction
    • 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.
        If function dEndDrawing is called in the same process as function dStartDrawing, the drawing will not appear: it will be automatically deleted.
  • Reports and QueriesWindows Method 2: specify design destination directly in syntax (via parameter)
    The <Image> parameter is used to specify directly the target of the drawing. dStartDrawing becomes useless. This function must be deleted.
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: wd300pnt.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 05/30/2025

Send a report | Local help