Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Créer et Décoder un fichier BMP en PL/SQL
Par McM

Le , par McM

0PARTAGES

Pour pouvoir générer des QRCode, des codes barres, ou décoder un fichier image BMP, j'ai eu besoin de créer un fichier BMP dans un BLOB.

Première étape, comment ça marche
1 partie Header, 1 partie Entête et 1 partie Donnée.
Très simple car la partie donnée n'est pas cryptée.
Je n'ai eu besoin que de faire du Noir & Blanc, donc je n'ai pas approfondi le reste.

Petite info marrante (je trouve), dans un BMP on code la résolution verticale et horizontale en Pixel / Mètre !
#0B13h = 2835 px/m => 2835 / 39.3701 => 72dpi (pixel par inch)

Pour la partie Data j'avais déjà un tableau de chaine de caractère contenant chaque ligne de ma future image, avec des 0 ou 1 contenant chaque pixel.
La seule fonction à créer a été de passer du Binaire en Décimal afin de repasser en Raw (Hexa)

Voici le source : [ATTACH]184899d1/a/a/a" />

La fonction Generer_BMP prend en paramètres : Le tableau de données, la largeur et la hauteur, et le nombre de couleur.
Elle renvoie un BLOB contenant l'image.
La couleur : toujours mettre 2, le reste n'est pas codé.
La hauteur doit être égal au nombre de lignes du tableau de données

J'ai eu besoin de "décoder" un fichier BMP N&B afin d'insérer un logo dans une imprimante ticket en mode ESC/POS
La procédure P_GET_DATA prend en paramètre un Blob (image BMP Noir et Blanc), et renvoie la hauteur/largeur et le tableau de données.
Il n'y a encore que les images Noir & Blanc qui sont prises en compte.

La procédure CREER_FIC_IMG_IMP_ESCPOS est spécifique à la création d'un fichier texte à envoyer sur une imprimante ESC/POS.

Le prochain billet sera la création d'un code barre (EAN13, EAN128, QRCode) en Pl/Sql utilisant ce package afin de générer directement sous Forms l'image correspondante.

Une erreur dans cette actualité ? Signalez-le nous !