version 11.2 (Modifiée)
BLOB VERS IMAGE (blobImage; image{; codec})
Paramètre | Type | Description | |
blobImage | BLOB | BLOB contenant une image | |
image | Image | Champ ou variable image 4D | |
codec | Chaîne | Identifiant de codec d'image |
Description
La commande BLOB VERS IMAGE place dans un champ ou une variable image 4D une image stockée dans un BLOB, quel que soit son format initial.
Le fonctionnement de cette commande est analogue à celui de la commande LIRE FICHIER IMAGE ; elle s'applique simplement à un BLOB et non à un fichier. Elle permet d'afficher à tout moment des images stockées en format natif dans des BLOBs à l'aide, par exemple, de la commande DOCUMENT VERS BLOB ou IMAGE VERS BLOB.
Vous passez dans le paramètre blobImage le BLOB contenant l'image. L'image peut être de tout format pris en charge en natif par 4D ou compatible QuickTime. Vous pouvez obtenir la liste des formats disponibles à l'aide de la commande LISTE CODECS IMAGES. Si vous passez le paramètre facultatif codec, 4D utilisera la valeur fournie dans ce paramètre pour décoder le BLOB (voir ci-dessous le fonctionnement spécifique de la commande avec ce troisième paramètre).
Vous passez dans le paramètre image la variable ou le champ 4D de type image devant afficher l'image.
Note : Le format interne de l'image sera conservé au sein de la variable ou du champ 4D. Dans le cas de formats personnalisés utilisant QuickTime, il sera nécessaire de disposer de QuickTime pour afficher ultérieurement l'image dans 4D.
Après l'exécution de la commande, si le BLOB a pu être correctement décodé, l'image contient l'image affichable dans 4D.
Le paramètre facultatif codec vous permet de préciser le codec à utiliser pour décoder le BLOB.
Si vous passez dans codec un codec reconnu par 4D (retourné par la commande LISTE CODECS IMAGES), il est appliqué au BLOB et l'image est retournée dans le champ ou la variable image.
Si vous passez dans codec un codec non reconnu par 4D, un nouveau codec est enregistré dynamiquement avec l'identifiant passé en paramètre. 4D retourne alors une image qui encapsule le BLOB et la variable OK prend la valeur 1. Dans ce cas, pour récupérer le BLOB, il sera nécessaire d'utiliser la commande IMAGE VERS BLOB avec le même identifiant personnalisé. Ce mécanisme particulier permet de répondre à deux besoins spécifiques :
encapsulation d'un BLOB (qui n'est pas une image) dans une image,
chargement d'une image sans disposer du codec.
La mise en oeuvre de ces mécanismes permet de notamment de créer des "tableaux de BLOBs" en passant par des tableaux images. Cette technique doit être utilisée avec précaution car, les tableaux étant entièrement chargés en mémoire, la manipulation de BLOBs de grande taille peut altérer le fonctionnement de l'application.
Note : Un BLOB créé par la commande VARIABLE VERS BLOB est géré automatiquement, il n'est pas nécessaire de passer le codec pour l'encapsuler, le BLOB étant "signé". Pour l'opération inverse dans ce cas, vous devez passer ".4DVarBlob" comme identifiant de codec à la commande IMAGE VERS BLOB.
Référence
IMAGE VERS BLOB, LIRE FICHIER IMAGE, LISTE CODECS IMAGES, LISTE TYPES IMAGES.
Variables et ensembles système
Si la commande a été exécutée correctement, la variable système OK prend la valeur 1. En cas d'échec (absence de QuickTime, format d'image inconnu, paramètre codec reconnu mais ne validant pas le BLOB...), OK prend la valeur 0 et le champ ou la variable image 4D est retourné(e) vide.