DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Champs, pages et fenêtres / Fonctions de dessin
  • Image présente dans un champ Web Caméra
  • Dessin en code navigateur
  • 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
Sauve une image :
  • soit dans un fichier au format JPEG.
  • soit en mémoire.
Cette image correspond à l'image contenue :
  • soit dans un champ Image.
  • soit dans une variable de type Image.
    WEBDEV - Code NavigateurPHP Ce type de variable n'est pas disponible.
  • soit dans un champ Code-barres.
    WEBDEV - Code ServeurLinuxPHP Dans cette version, les champs de type Code-barres ne sont pas disponibles. Il n'est donc pas possible de sauver une image contenue dans un champ Code-barres.
  • soit dans un champ Web Caméra.
Remarques :
  • Seule la partie visible du champ Image est sauvegardée.
  • Cette fonction permet uniquement de sauvegarder des images pour des résolutions d'écran allant jusqu'à 32 bits.
  • Cette fonction ne peut pas être utilisée avec les champs Image présents dans les états.
  • Cette fonction permet également d'enregistrer les modifications effectuées sur les marqueurs Exif d'une image à l'aide de la fonction ImageInfoModifie.
  • Java La sauvegarde d'images au format JPEG est supportée uniquement si l'application est exécutée par la machine virtuelle Java (JVM) distribuée par SUN. Cette sauvegarde ne fonctionne pas avec d'autres machines virtuelles Java.
Linux Attention : L'utilisation de cette fonction sous Linux nécessite une configuration spécifique. Pour plus de détails, consultez Les dessins.
WEBDEV - Code Navigateur En code navigateur, cette fonction permet uniquement de sauvegarder une image en mémoire.
// Sauve en mémoire l'image présente dans "IMG_ImageDessin"
ResSauvegarde = dSauveImageJPEG(IMG_ImageDessin, enMémoire)
WINDEVWEBDEV - Code ServeurEtats et RequêtesUniversal Windows 10 AppCode Utilisateur (MCU)PHPAjax
// Sauve l'image présente dans "IMG_ImageDessin" sur "C:\Documents\Image.JPEG"
ResSauvegarde = dSauveImageJPEG(IMG_ImageDessin, "C:\Documents\Image.JPEG")
WINDEVWEBDEV - Code ServeurEtats et RequêtesCode Utilisateur (MCU)Ajax
// Modification des commentaires de l'image
// affichée dans le champ Image "IMG_MonChampImage"
ImageInfoModifie(IMG_MonChampImage, imgCommentaire, "Belles gorgones")
// Enregistrement de la modification dans le 
// fichier "C:\Plongees\Gorgone1.JPG"
dSauveImageJPEG(IMG_MonChampImage, "C:\Plongees\Gorgone1.JPG", 100, imgSauveInformation)
Syntaxe
WINDEVWEBDEV - Code ServeurEtats et RequêtesUniversal Windows 10 AppAndroidiPhone/iPadWidget IOSMac CatalystJavaCode Utilisateur (MCU)PHPAjax

Sauvegarder une image dans un fichier au format JPEG Masquer les détails

<Résultat> = dSauveImageJPEG(<Image> , <Nom du fichier> [, <Qualité> [, <Marqueur Exif>]])
<Résultat> : Booléen
  • Vrai si l'image a été sauvegardée,
  • Faux dans le cas contraire. Pour connaître le libellé de l'erreur, utilisez la fonction ErreurInfo avec la constante errMessage.
<Image> : Nom de champ ou variable de type Image
  • Nom du champ Image, Code-barres ou Web Caméra à manipuler. Les champs Image présents dans un état ne peuvent pas être utilisés.
  • WEBDEV - Code Serveur Nom du champ Image ou Web Caméra à manipuler.
  • AndroidJava Nom du champ Image à manipuler.
  • Nom de la variable de type Image à manipuler.
    WEBDEV - Code NavigateurPHP Ce type de variable n'est pas disponible.
<Nom du fichier> : Chaîne de caractères
Nom et chemin complet (ou relatif) du fichier JPEG. Un chemin de type UNC peut être utilisé. L'extension du fichier n'est pas obligatoire.
Attention :
  • Pour que l'image soit sauvée, le répertoire de destination doit exister.
  • L'existence du fichier JPEG n'est pas vérifiée. Si ce fichier existe, il est automatiquement écrasé.
<Qualité> : Entier optionnel
Qualité de l'image sauvegardée. Valeur comprise entre 1 et 100 (80 par défaut). Plus la qualité de l'image sera faible, plus le taux de compression de l'image sera élevé et plus la taille du fichier sera petite.
<Marqueur Exif> : Constante (ou combinaison de constantes) optionnelle
Enregistrement des marqueurs Exif modifiés à l'aide de la fonction ImageInfoModifie :
imgAjouteVignetteAjoute une vignette dans le fichier image <Nom du fichier>.
Si une vignette est présente dans le fichier image affiché dans le champ Image, cette constante n'est pas prise en compte.
AndroidJava Cette constante n'est pas disponible.
imgJPEGProgressifPermet de sauvegarder l'image au format JPEG progressif. Ce format est notamment utilisé pour les sites Web. Il permet un chargement plus rapide des pages (les images étant chargées et affichées progressivement).
Android Cette constante n'est pas disponible.
imgNiveauDeGrisPermet de sauvegarder l'image en noir et blanc (mode d'affichage "Niveau de gris").
Android Cette constante n'est pas disponible.
imgSauveInformationEnregistre les marqueurs Exif.
Si une vignette est présente dans le fichier image affiché dans le champ Image, une nouvelle vignette est recalculée.
Android Cette constante peut être utilisée uniquement si le paramètre <Nom de l'image> correspond à une variable de type Image. La vignette ne sera pas recalculée.
Java Cette constante n'est pas disponible.

Par défaut, les marqueurs Exif ne sont pas enregistrés, aucune opération sur les vignettes n'est réalisée.
Universal Windows 10 AppiPhone/iPadWidget IOSMac CatalystPHP Ce paramètre n'est pas disponible.
Universal Windows 10 App Syntaxe non disponible

Sauvegarder une image en mémoire Masquer les détails

<Résultat> = dSauveImageJPEG(<Image> , <enMémoire> [, <Qualité> [, <Marqueur Exif>]])
<Résultat> : Buffer
Chaîne d'octets contenant l'image au format JPEG.
Cette chaîne d'octets peut être par la suite affectée à un champ Image, enregistrée dans un fichier (fonction fSauveTexte), envoyée à travers un réseau (grâce aux fonctions Socket), ...
WEBDEV - Code Navigateur Cette chaîne d'octets peut uniquement être affectée à une autre image en code navigateur (l'option "Localiser l'image dans répertoire _WEB en code navigateur" doit être décochée). Elle ne peut pas être sauvée dans un fichier pour construire un fichier image.
<Image> : Nom de champ ou variable de type Image
  • Nom du champ Image, Code-barres ou Web Caméra à manipuler. Les champs Image présents dans un état ne peuvent pas être utilisés.
  • WEBDEV - Code Serveur Nom du champ Image ou Web Caméra à manipuler.
  • AndroidJava Nom du champ Image à manipuler.
  • Nom de la variable de type Image à manipuler.
    WEBDEV - Code NavigateurPHP Ce type de variable n'est pas disponible.
<enMémoire> : Constante
enMémoire : Constante permettant de sauvegarder une image en mémoire.
<Qualité> : Entier optionnel
Qualité de l'image sauvegardée. Valeur comprise entre 1 et 100 (80 par défaut). Plus la qualité de l'image sera faible, plus le taux de compression de l'image sera élevé et plus la taille du fichier sera petite.
<Marqueur Exif> : Constante (ou combinaison de constantes) optionnelle
Enregistrement des marqueurs Exif modifiés à l'aide de la fonction ImageInfoModifie :
imgAjouteVignetteAjoute une vignette dans le fichier image <Nom du fichier>.
Si une vignette est présente dans le fichier image affiché dans le champ Image, cette constante n'est pas prise en compte.
Java Cette constante n'est pas disponible.
imgJPEGProgressifPermet de sauvegarder l'image au format JPEG progressif. Ce format est notamment utilisé pour les sites Web. Il permet un chargement plus rapide des pages (les images étant chargées et affichées progressivement).
imgSauveInformationEnregistre les marqueurs Exif.
Si une vignette est présente dans le fichier image affiché dans le champ Image, une nouvelle vignette est recalculée.
Java Cette constante n'est pas disponible.

Par défaut, les marqueurs Exif ne sont pas enregistrés, aucune opération sur les vignettes n'est réalisée.
Ce paramètre est disponible uniquement si <Nom du champ> correspond au nom d'un champ Image.
AndroidiPhone/iPadWidget IOSMac CatalystPHP Ce paramètre n'est pas disponible.
Remarques

Image présente dans un champ Web Caméra

Seule l'image affichée au moment de l'exécution de la fonction dSauveImageJPEG est sauvegardée. Pour sauvegarder cette image, il est également possible d'utiliser :
  • la fonction VidéoCapture : l'image sera sauvegardée au format BMP
  • la fonction dSauveImageBMP : l'image sera sauvegardée soit au format BMP, soit en mémoire
  • la fonction dSauveImageGif : l'image sera sauvegardée soit au format Gif, soit en mémoire
  • la fonction dSauveImagePNG : l'image sera sauvegardée soit au format PNG, soit en mémoire.
WEBDEV - Code Navigateur

Dessin en code navigateur

Il est possible d'affecter directement l'image sauvegardée en mémoire à un champ Image. Selon le navigateur utilisé, le résultat peut ne pas être celui attendu.
Par exemple, avec la version actuelle de FireFox et de Opéra (disponible au moment de la rédaction de cette documentation), les images au format JPEG ne sont pas correctement affichées (elles sont affichées sur un fond noir).
Ce fonctionnement peut s'améliorer lors des prochaines mises à jour de ces navigateurs.
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".
Composante : wd300pnt.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
WinDev 21 : le paramètre 'enMémoire' ne fonctionne pas sur un champ caméra
**Attention :**
En WinDev 21, le paramètre 'enMémoire' ne fonctionne pas sur un champ caméra : la fonction dSauveImageJPEG renvoie toujours un buffer vide. Pas pratique pour décoder un QRCode…
Par contre, le stockage dans un fichier fonctionne.
LC
25 sep. 2017

Dernière modification : 21/06/2024

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