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.
Créer et Décoder un fichier BMP en PL/SQL
Par McM
Créer et Décoder un fichier BMP en PL/SQL
Par McM
Le , par McM
Une erreur dans cette actualité ? Signalez-nous-la !