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
  • How to retrieve the components of the color?
  • Using the drawing functions
  • dPixelColor, zoom and automatic scrollbars
  • Drawing in PHP
  • Drawing in Browser code
WINDEV
WindowsLinuxJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac Catalyst
Others
Stored procedures
Identifies the color of a pixel found:
  • 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.
Linux Caution: Using this function under Linux requires a specific configuration.. For more details, see The drawings.
// Identify the color of the pixel (15, 25)
// in the Image control named "IMG_Drawing"
ResColor = dPixelColor(IMG_ImageDrawing, 15, 25)
Syntax
<Result> = dPixelColor([<Image>, ] <X-coordinate> , <Y-coordinate>)
<Result>: Integer
Color of the specified pixel in RGB format.
Please note: the value returned may differ depending on the display configuration (resolution, etc.).
<Image>: Optional control name or optional Image, WDPic or picLayer variable
Reports and QueriesWindowsLinuxAndroidiPhone/iPadIOS WidgetMac CatalystJavaUser code (UMC) Image to use. This 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, the image handled by dStartDrawing will be used.
This parameter is not available in a report. To specify the image to use, dStartDrawing must be used before the call to dPixelColor.
<X-coordinate>: Integer
Horizontal position of pixel to use.
<Y-coordinate>: Integer
Vertical position of pixel to use.
Remarks

Coordinates

Coordinates are given in pixels with respect to the upper-left corner of the image (coordinates: (0.0)).
To retrieve the position of a mouse click in an Image control, use MouseXPos and MouseYPos.

How to retrieve the components of the color?

To retrieve the components of the color returned by dPixelColor:
  • To get the red component, use RGBRed (or perform a division modulo 256 of <Result>),
  • To get the green component, use RGBGreen (or perform a division modulo 256 of <Result>/256),
  • To get the blue component, use RGBBlue (or perform a division modulo 256 of <Result>/256/256).

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 QueriesWindowsLinuxAndroidiPhone/iPadIOS WidgetMac CatalystJavaUser code (UMC) Method 2: Indicate the design destination 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.
WINDEVReports and QueriesWindowsUser code (UMC)

dPixelColor, zoom and automatic scrollbars

The "Automatic scrollbars and zoom" option, available on Image controls, is incompatible with dPixelColor. If this option is used on the Image control, dPixelColor freezes the image. The zoom and the scrollbars are also frozen.
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 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.
Attention: 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 display the project description window, under the "Project" pane, in the "Project" group, click on "Description".
Special case: Drawing in the browser of an Android phone: Browser drawing functions are only available in Android version 3 and higher..
Component: wd300obj.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 09/30/2024

Send a report | Local help