Bonjour,
je cherche un moyen efficace en terme de ressource temps pour améliorer mon code VB.net
Ce code permet d'enregistrer dans un fichier binaire les pixels d'une image monochrome, (1 bit par pixel).
Cette image est d'abord stockée dans un "stream" au format BMP, (bitmap).
A partir de ce stream je récupère les données pixels (c'est à dire sans l'entête du fichier bitmap).
Le problème c'est que dans un fichier bitmap les pixels par ligne sont rangés en nombre d'octets modulo 4.
C'est à dire que pour une image monochrome qui fait 6 pixels de large par 40 pixels de haut, le tableau d'octets correspondant contiendra 4*40 octets au lieu de 40 octets.
Etant donné que j'ai à stocker plusieurs centaines d'images qui ont rarement une largeur modulo 4 octets, je suis obligé de faire un test à chaque ligne de l'image pour enlever les octets inutiles. Ceci ralenti le code de manière pénalisante lorsque les images ont des dimensions importantes...
J'aimerais savoir s'il existe une méthode plus efficace pour récupérer les pixels effectifs de l'image ? (par exemple un getpixel évolué sur toute l'image)
Extrait du code actuel en pièce jointe.
Merci pour votre aide
Eric
Partager