DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Champs, pages et fenêtres / Fonctions de dessin
  • Cas particuliers
  • Caractéristiques des dessins dans le navigateur
  • Dessin en code Navigateur
  • Dessin avec gestion de l'opacité
  • Fonction dDébutDessin, zoom et ascenseurs automatiques
  • Dessin en PHP
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Indique que les fonctions de dessin qui vont être utilisées sont destinées :
  • au champ Image spécifié,
  • à une variable de type Image.
    WEBDEV - Code NavigateurPHP Ce type de variable n'est pas disponible.
  • WINDEVWEBDEV - Code Serveur à une variable de type WDPic (sur le calque d'arrière-plan),
  • WINDEVWEBDEV - Code Serveur à une variable de type picCalque.
Remarque : La fonction dDébutDessin initialise tous les paramètres nécessaires à la création (ou à la poursuite) d'un dessin pour un élément donné.
Linux Attention : L'utilisation de cette fonction sous Linux nécessite une configuration spécifique. Pour plus de détails, consultez Les dessins.
Exemple
// Début du dessin dans le champ Image "IMG_ImageDessin"
ResDessin = dDébutDessin(IMG_ImageDessin)
// Dessins dans le champ Image "IMG_ImageDessin"
...
// Fin des dessins dans le champ Image "IMG_ImageDessin"
dDébutDessin(IMG_Image1)
dPolice("Arial", 12, iNormal, 0)
dTexte(4, 0, "J'écris mon texte dans un champ Image !")
Syntaxe

Débuter un dessin dans un champ Image Masquer les détails

<Résultat> = dDébutDessin(<Champ Image> [, <Options>])
<Résultat> : Entier système
  • DC (device context) mémoire du champ Image,
  • 0 en cas d'erreur.
Ce paramètre peut être utilisé pour appeler des routines système (fonctions de l'API Windows). Dans ce cas, il est conseillé d'utiliser un entier système.
AndroidJava Cas particulier :
  • 1 en cas de succès,
  • 0 en cas d'erreur.
<Champ Image> : Nom de champ
Nom d'un champ Image dans lequel le dessin va être réalisé.
<Options> : Constante ou combinaison de constantes de type entier optionnelle
Options de dessin :
dAffichageAsynchrone
WEBDEV - Code Navigateur En code navigateur, permet d'optimiser les performances de dessin sur une image. Le dessin est affiché dans le champ Image uniquement lorsque l'action de l'utilisateur est finie.
dAffichageManuel
WEBDEV - Code Navigateur En code navigateur, permet de différer l'affichage du dessin. Le dessin ne sera affiché dans le champ Image que lorsque la fonction dAffiche sera utilisée.
dAvecOpacitéAutorise la gestion de l'opacité dans les différentes fonctions de dessin utilisées avec le champ Image. Permet par exemple de créer un dessin enregistré sous forme de PNG avec gestion de la couche alpha.
dEffacer
(Valeur par défaut)
Efface le dessin présent dans le champ Image.
dQuadrillageOpacitéL'affichage du dessin est effectué sur un quadrillage afin de mettre en évidence les parties transparentes ou semi-transparentes du dessin. Le quadrillage n'est pas enregistré dans l'image.
Universal Windows 10 AppiPhone/iPadWidget IOSMac CatalystPHP Cette constante n'est pas disponible.
dSansEffacerN'efface pas le dessin présent dans le champ Image.
dSurGraphePermet de dessiner sur un champ Image dans lequel un graphe a déjà été dessiné. Dans ce cas, le dessin du graphe n'est pas effacé.
Universal Windows 10 AppiPhone/iPadWidget IOSMac CatalystPHP Cette constante n'est pas disponible.
WINDEVWEBDEV - Code ServeurEtats et RequêtesUniversal Windows 10 AppAndroidJavaCode Utilisateur (MCU)

Débuter le dessin dans une variable de type Image, WDPic ou picCalque Masquer les détails

<Résultat> = dDébutDessin(<Elément> [, <Options>])
<Résultat> : Booléen
  • Vrai si le dessin a été initialisé,
  • Faux dans le cas contraire.
<Elément> : Variable de type Image, WDPic ou picCalque
Nom d'une variable :
  • de type Image.
  • WINDEVWEBDEV - Code Serveur de type WDPic. Seul le calque d'arrière-plan sera manipulé.
  • WINDEVWEBDEV - Code Serveur de type picCalque.
<Options> : Constante ou combinaison de constantes de type entier optionnelle
Options de dessin :
dAvecOpacitéAutorise la gestion de l'opacité dans les différentes fonctions de dessin utilisées avec la variable. Permet par exemple de créer un dessin enregistré sous forme de PNG avec gestion de la couche alpha.
dQuadrillageOpacitéL'affichage du dessin est effectué sur un quadrillage afin de mettre en évidence les parties transparentes ou semi-transparentes du dessin. Le quadrillage n'est pas enregistré dans l'image.
Universal Windows 10 AppAndroidJava Cette constante n'est pas disponible.
dSansEffacerN'efface pas le dessin présent dans la variable.
dSurGraphePermet de dessiner dans une variable dans laquelle un graphe a déjà été dessiné. Dans ce cas, le dessin du graphe n'est pas effacé.
Universal Windows 10 AppAndroidJava Cette constante n'est pas disponible.

Si ce paramètre n'est pas précisé, aucune option de dessin n'est utilisée.
Remarques

Cas particuliers

  • La fonction dDébutDessin doit être appelée avant l'utilisation des fonctions de dessin. La fonction dDébutDessin permet de définir l'élément (champ Image ou variable de type Image) sur lequel les fonctions de dessin vont intervenir.
  • Dans le cas du dessin dans un champ Image :
    • les fonctions de dessin travaillent sur une copie ("bitmap") de l'image. Vous pouvez utiliser les fonctions de dessin de Windows (grâce à la fonction API ou AppelDLL32) mais ces fonctions Windows doivent utiliser le DC (Device Context) renvoyé par la fonction dDébutDessin.
    • la fonction dFinDessin ne doit pas être appelée dans le même traitement que la fonction dDébutDessin. Si la fonction dFinDessin est appelée dans le même traitement que la fonction dDébutDessin, le dessin n'apparaîtra pas : il sera automatiquement effacé.
WEBDEV - Code Navigateur

Caractéristiques des dessins dans le navigateur

En code navigateur, le transfert du dessin dans l'image peut être relativement long (utilisation de nombreuses fonctions de dessin).
Pour optimiser le dessin dans l'image, il est possible de reporter l'affichage du dessin après l'utilisation des fonctions de dessin. Pour cela, il suffit de :
  1. Commencer le dessin avec la fonction dDébutDessin en utilisant la constante dAffichageManuel.
  2. Utiliser les fonctions de dessin pour réaliser le dessin.
  3. Utiliser la fonction dAffiche pour afficher le dessin dans l'image.
WEBDEV - Code Navigateur

Dessin en code Navigateur

Certaines fonctions de dessin sont disponibles en code Navigateur. Les fonctions de dessin en code Navigateur sont basées sur la norme HTML 5. Pour les spécialistes, ces fonctions s'appuient sur la balise "canvas" de HTML 5.
Les fonctionnalités de dessin en code navigateur sont disponibles uniquement sur les navigateurs récents (supportant la norme HTML 5). Pour savoir si le navigateur utilisé propose les fonctionnalités de dessin, utilisez la fonction DessinDisponible.
Attention : Pour utiliser les fonctions de dessin avec Internet Explorer 9, le projet doit inclure la référence au fichier DTD. Pour cela, le mode HTML doit être "HTML 4.01 Transitional + DTD". Cette option est disponible dans l'onglet "Avancé" de la fenêtre de description du projet.
Rappel : Pour afficher la fenêtre de description du projet, sous le volet "Projet", dans le groupe "Projet", cliquez sur "Description".
Cas particulier : Dessiner dans le navigateur d'un téléphone Android : Les fonctions de dessin navigateur sont disponibles uniquement à partir de la version 3 de Android.
WINDEVWEBDEV - Code ServeurEtats et RequêtesUniversal Windows 10 AppAndroidJavaCode Utilisateur (MCU)PHPAjax

Dessin avec gestion de l'opacité

Créer un dessin avec gestion de l'opacité permet d'enregistrer simplement des images au format PNG avec gestion de la couche Alpha.
Pour enregistrer un dessin PNG avec gestion de la couche Alpha :
  1. Utilisez la fonction dDébutDessin. Cette fonction permet de définir si nécessaire l'élément sur lequel les fonctions de dessin vont intervenir, ainsi que le mode de dessin. La constante dAvecOpacité permet d'indiquer que le dessin gérera l'opacité. La constante dQuadrillageOpacité permet de faire apparaître un quadrillage sous les différentes zones du dessin.
  2. Paramétrez l'opacité de vos dessins grâce aux fonctions suivantes :
    dFondDéclare la couleur de fond et son opacité pour les prochains dessins.
    dPointDéclare la couleur des points et leur opacité pour les prochains dessins.
    dStyloDéclare la couleur des traits et leur opacité pour les prochains dessins.

    Remarque : La fonction dPixelOpacité permet de connaître l'opacité d'un point.
  3. Utilisez la fonction dSauveImagePNG pour sauvegarder votre dessin au format PNG avec gestion de la couche alpha (de l'opacité).
Limite : En mode "Gestion de l'opacité", la fonction dTexte est limitée à l'usage de polices True Type.
WINDEVAndroidiPhone/iPadWidget IOSMac CatalystCode Utilisateur (MCU)

Fonction dDébutDessin, zoom et ascenseurs automatiques

L'option "Ascenseurs et zoom automatiques" disponible sur un champ Image est incompatible avec la fonction dDébutDessin. Si cette option est utilisée sur le champ Image, la fonction dDébutDessin entraîne un affichage figé dans le champ. Le zoom et les ascenseurs sont également figés. Le comportement redevient normal lors de l'appel de la fonction dFinDessin.
PHP

Dessin en PHP

En PHP, les fonctions de dessin s'appuient sur la librairie graphique GD. Cette librairie est très courante chez les hébergeurs PHP, et donc toujours activée. La version de la librairie GD devra être au moins 2.0.28. Cette librairie peut être téléchargée sur le site de PHP.
Pour activer si nécessaire cette librairie en local, les éléments nécessaires sont :
  • PHP installé.
  • le fichier PHP.INI présent dans le répertoire Windows doit avoir la ligne "extension=php_gd2.dll" et non pas ";extension=php_gd2.dll".
  • le fichier php_gd2.dll doit exister dans le répertoire des extensions PHP. Ce répertoire est défini dans le fichier PHP.INI par la variable "extension_dir".
Liste des exemples associés :
Les fonctions de dessin Exemples unitaires (WINDEV) : Les fonctions de dessin
[ + ] Utilisation des principales fonctions de dessin de WINDEV pour :
- Initialiser un champ Image pour dessiner
- Dessiner des figures simples
- Ecrire un texte dans un dessin
- Changer la couleur dans un dessin
Composante : wd290pnt.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale