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
  • Non-solid figure
  • Drawing with opacity or anti-aliasing
  • Using the drawing functions
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 circle section or an ellipse section:
  • in an Image control,
  • in a variable of type Image.
// Initialise le dessin dans un champ Image
dStartDrawing(IMG_Dessin)

// Dessin d'une portion de cercle dont le
// fond est jaune clair et le bord bleu clair
dSlice(10, 10, 50, 50, 20, 20, 40, 50, LightYellow, LightBlue)
Universal Windows 10 AppiPhone/iPadIOS WidgetMac Catalyst
// Dessin d'une portion de cercle dont le
// fond est jaune clair et le bord bleu clair
dSlice(IMG_Dessin, 10, 10, 50, 50, 20, 20, 40, 50, LightYellow, LightBlue)
Syntax

Draw a section of a circle, specifying all the coordinates of the rectangle containing the circle. Hide the details

dSlice([<Image>, ] <X1> , <Y1> , <X2> , <Y2> , <X3> , <Y3> , <X4> , <Y4> [, <Background color> [, <Line color>]])
<Image>: Optional control name or optional Image, WDPic or picLayer variable
Universal Windows 10 AppAndroidiPhone/iPadIOS WidgetMac Catalyst Image to use. The 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.
<X1>: Integer
X-coordinate of the upper-left corner of the rectangle containing the circle. These coordinates are expressed in pixels.
<Y1>: Integer
Y-coordinate of the upper-left corner of the rectangle containing the circle. These coordinates are expressed in pixels.
<X2>: Integer
X-coordinate of the lower-right corner of the rectangle containing the circle. These coordinates are expressed in pixels.
<Y2>: Integer
Y-coordinate of the lower-right corner of the rectangle containing the circle. These coordinates are expressed in pixels.
<X3>: Integer
X-coordinate of the start point of the circle section. These coordinates are expressed in pixels.
<Y3>: Integer
Y-coordinate of the start point of the circle section. These coordinates are expressed in pixels.
<X4>: Integer
X-coordinate of the end point of the circle section. These coordinates are expressed in pixels.
<Y4>: Integer
Y-coordinate of the end point of the circle section. These coordinates are expressed in pixels.
<Background color>: Integer or constant (optional)
Background color of the circle section. 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.
<Line color>: Integer or constant (optional)
Color of the line for the circle section. This color can correspond to:
If this parameter is not specified, the line color:
  • is Transparent if the function dPen has not been used before.
    New in version 2024
    In the case of an Variable type Image, the row will have the black Color..
  • corresponds to the color specified in the last call to dPen.
New in version 2024
Universal Windows 10 AppAndroidiPhone/iPadIOS WidgetMac Catalyst

Drawing a section of a circle using a Rectangle Variable Hide the details

dSlice([<Image>, ] <Rectangle> , <X3> , <Y3> , <X4> , <Y4> [, <Background color> [, <Line color>]])
<Image>: Optional control name or optional Image, WDPic or picLayer variable
Universal Windows 10 AppAndroidiPhone/iPadIOS WidgetMac Catalyst Image to use. The 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.
<Rectangle>: Rectangle variable
Name of the Variable type Rectangle Receiver in which the circle is inscribed..
<X3>: entier
X-coordinate of the start point of the circle section. These coordinates are expressed in pixels.
<Y3>: entier
Y-coordinate of the start point of the circle section. These coordinates are expressed in pixels.
<X4>: entier
X-coordinate of the end point of the circle section. These coordinates are expressed in pixels.
<Y4>: entier
Y-coordinate of the end point of the circle section. These coordinates are expressed in pixels.
<Background color>: Integer or constant (optional)
Background color of the circle section. 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.
<Line color>: Integer or constant (optional)
Color of the line for the circle section. This color can correspond to:
If this parameter is not specified, the line color:
  • is Transparent if the function dPen has not been used before.
    New in version 2024
    In the case of an Variable type Image, the row will have the black Color..
  • corresponds to the color specified in the last call to dPen.
Remarks

Coordinates

If the start point and the end point are not located on the border of the circle (or on the border of the ellipse), the point taken into account corresponds to the intersection between the circle and the line that joins the specified point and the center of the rectangle (which means the center of the circle).
Coordinates are specified with respect to the upper-left corner of the image or Image control (coordinates: (0,0)).
The drawing sections are drawn anticlockwise.

Non-solid figure

To draw a non-solid figure (without taking into account the center of the circle), use dChord.
AndroidiPhone/iPadIOS WidgetMac Catalyst

Drawing with opacity or anti-aliasing

For a drawing with opacity (dStartDrawing with the dWithOpacity constant) or anti-aliasing (dChangeMode with the drawAntiAliasing constant), the outline is drawn inside the section: therefore, the line is partly combined with the inside of the section. 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 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.
  • Universal Windows 10 AppAndroidiPhone/iPadIOS WidgetMac Catalyst 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.
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