Developpez.com

Une très vaste base de connaissances en informatique avec
plus de 100 FAQ et 10 000 réponses à vos questions

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

Le , par McM, Expert éminent
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.


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster un commentaire

Avatar de patmaba patmaba - Membre habitué https://www.developpez.com
le 04/01/2016 à 11:07
le lien est mort
Avatar de Garuda Garuda - Membre chevronné https://www.developpez.com
le 12/02/2016 à 9:48
Je confirme : impossible de télécharger le source
le source se trouve en passant par le blog
http://www.developpez.net/forums/blo...l/#comment2041
Offres d'emploi IT
Architecte électronique de puissance expérimenté H/F
Safran - Ile de France - Villaroche - Réau
Consultant sap finance/controlling H/F
Safran - Ile de France - Vélizy-Villacoublay (78140)
Responsable protection des données H/F
Safran - Ile de France - Magny-les-Hameaux (78114)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Oracle