ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Controls, pages and windows / Drawing functions
  • Special cases
  • Drawing with opacity
  • dStartDrawing, zoom and automatic scrollbars
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
Indicates that the drawing functions that will be used are intended for:
  • the specified Image control,
  • a variable of type Image.
Remark: dStartDrawing initializes all the parameters required to create a drawing for a given element.
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, "Text in an Image control!")
Syntax

Starting a drawing in an Image control Hide the details

<Result> = dStartDrawing(<Image control> [, <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.
Android Special case:
  • 1 if successful,
  • 0 if an error occurs.
<Image control>: Control name
Name of Image control where the drawing will be performed.
<Options>: Optional Integer constant (or combination of constants)
Drawing options:
dDisplayAsynchronous
dDisplayManual
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 the drawing. The gridlines are not saved in the image.
Universal Windows 10 AppiPhone/iPadIOS WidgetMac Catalyst 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.
Universal Windows 10 AppiPhone/iPadIOS WidgetMac Catalyst This constant is not available.
dWithOpacityAllows the opacity to be managed in the different drawing functions used by the Image control. Used for example to create a PNG drawing with an Alpha channel.
Universal Windows 10 AppAndroid

Starting the drawing in an Image, WDPic or picLayer variable Hide the details

<Result> = dStartDrawing(<Element> [, <Options>])
<Result>: Boolean
  • True if the drawing was initialized,
  • False otherwise.
<Element>: Image, WDPic or picLayer variable
Name of a variable:
<Options>: Optional Integer constant (or combination of constants)
Drawing options:
dGridlinesOpacityThe drawing is displayed over gridlines in order to highlight the transparent or semi-transparent sections of the drawing. The gridlines are not saved in the image.
Universal Windows 10 AppAndroid This constant is not available.
dNoEraseDoes not erase the drawing in the variable.
dOnChartUsed to draw in a variable in which a chart has already been drawn. In this case, the chart drawing is not erased.
Universal Windows 10 AppAndroid This constant is not available.
dWithOpacityAllows managing opacity in the different drawing functions used with the variable. Used for example to create a PNG drawing with an Alpha channel.

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.
Universal Windows 10 AppAndroid

Drawing with opacity

By creating a drawing that supports opacity, you can easily save PNG images with an Alpha channel.
To save a PNG drawing with an Alpha channel:
  1. Use the dStartDrawing function. This function is used to define, if necessary, 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.

    Remark: dPixelOpacity is used to find out the opacity of a point.
  3. Use dSaveImagePNG to save your drawing in PNG format with alpha channel (opacity).
Limit: In "Management of opacity" mode, dText is limited to the use of True Type fonts.
AndroidiPhone/iPadIOS WidgetMac Catalyst

dStartDrawing, zoom and automatic scrollbars

The "Automatic scrollbars and zoom" option, available on Image controls, is incompatible with dStartDrawing. If this option is used on the Image control, dStartDrawing freezes the image. The zoom and the scrollbars are also frozen. The standard behavior is restored when dEndDrawing is called.
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
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