Utiliser des images bitmap n/b avec LibreOffice


Une image bitmap est une image composée de points colorés carrés appelés pixels. Une image bitmap noir et blanc est composée de pixels uniquement noirs ou blancs. Dans une image bitmap, les points en diagonale apparaissent visuellement avec une forme en escalier appelé crénelage (aliasing). Si on souhaite utiliser des images noir et blanc (n/b) dans un document destiné à être converti au format pdf puis à être imprimé par un éditeur, la présence de ce crénelage (dans l'image source) et sa conservation dans l'image insérée sont indispensables pour obtenir une netteté maximale lors de l'impression. Si on est pas vigilant, on peut facilement perdre le crénelage dans diverses situations et ce sans s'en rendre compte immédiatement. Dans ce cas, le bitmap noir et blanc n'est plus uniquement noir et blanc mais contient divers niveaux de gris indésirables. Ceci entraine un manque de netteté après impression du document et la nécessaire correction de ce problème conduit à devoir reprendre tout le travail effectué...

Les opérations suivantes qui sont fréquemment rencontrées doivent être réalisées avec prudence car elle conduisent à une perte du crénelage qui est présent dans l'image source :

1) Enregistrement d'une image au format jpeg
Si on enregistre une image bitmap (format bmp ou png sans perte par exemple) dans un format jpeg, la compression des informations de couleur crée une perte de netteté (flou) qui conduit à une perte du crénelage initial. Dans ce cas, comme le montre l'image test ci-dessous, des niveaux de gris apparaissent. Pour éviter cela, il faut impérativement enregistrer les images sources dans un format sans compression et sans perte d'information (format bmp de préférence ou, à défaut, png ou tiff).
01

2) Insertion d'une image dans un document
Si on insère une image dans un document, celle-ci peut, une fois insérée, perdre son crénelage. Ce phénomène pénalisant peut provenir du réglage du logiciel de traitement de texte ou du fait qu'on utilise le presse-papier (copier-coller de l'image) plutôt que l'option d'import ou d'insertion d'image proposée par le logiciel de traitement de texte. Pour éviter cela il faut préalablement étudier puis régler les options du logiciel utilisé en fonction de son besoin. Le schéma suivant illustre la perte de crénelage d'une image bitmap après sont insertion dans LibreOffice Writer par simple copier-coller.
02

3) Vectorisation ou redimensionnement d'une image
Si on vectorise une image bitmap, la nouvelle image présente l'avantage de pouvoir être redimensionnée à volonté mais ceci conduit à la perte du crénelage dans cette nouvelle image. Pour éviter cela, il est préférable d'insérer directement, dans le document, l'image bitmap dans sa taille d'origine et de ne surtout pas la redimmensionner une fois qu'elle est insérée dans le document.

Souvent, dans leur réglage par défaut, les logiciels (graphiques ou de traitement de texte comme LibreOffice Writer par exemple) suppriment le crénelage présent dans les images en créant, sur les images insérées, un effet spécial appelé anti-aliasing (anti-crénelage). Le but recherché, par les concepteurs du logiciel, est d'adoucissir visuellement (smoothing) les effets d'escalier présents dans ces images en créant un léger effet de flou. C'est une bonne intention mais celle-ci peut vite devenir finalement très pénalisante si on ne sait pas régler et utiliser le logiciel de façon optimum...

Dans ce qui suit on va utiliser une méthode simple et précise pour insérer une image bitmap noir et blanc à l'identique (c'est à dire sans perte du crénelage et en conservant les mêmes dimensions ainsi que le même nombre de pixels distincts à l'écran), dans un document LibreOffice Writer utilisé sous Linux Raspbian sur Raspberry Pi3. Ainsi le document pdf qui sera ensuite généré conservera une qualité optimum des images.

1) Utiliser une image test

Pour vérifier le bon déroulement des opérations (c'est à dire la conservation du crénelage) présent dans l'image source, on utilise des images bitmap test . L'image test.bmp suivante, de taille 300x200 pixels, est créée avec le logiciel KolourPaint qui est sous Linux l'équivalent de Paint sous Windows.

03

On vérifie la taille de l'image en l'ouvrant dans KolourPaint et en faisant image/Resize Scale. La boîte de dialogue qui s'ouvre fait apparaître les dimensions de l'image en pixels.

00

2) Régler les options de LibreOffice Writer

Il faut commencer par vérifier que Libreoffice est réglé de façon favorable à la conservation du crénelage dans les images. Dans LibreOffice Writer, on clique Tools/Options.

04

Dans la boite de dialogue qui s'ouvre, dans l'onglet view de Libreoffice, on règle Scaling sur 100% et on décoche l'option Use anti-aliasing puis on clique "OK".

05

Dans l'onglet view de Libreoffice Writer, on voit que Libreoffice Writer ne gère pas les pixels (px) mais gère uniquement les millimètres, les centimètres, les pouces, les pica, les points ou les char. On sélectionne donc le choix point (pt) qui est celui qui se rapproche le plus du pixel.

05b

3) Importer une image bitmap n/b dans LibreOffice Writer

Dans Libreoffice Writer, on clique Insert/Image et on insère l'image test.bmp.

06

On sélectionne l'image insérée et on fait view/zoom/zoom puis on sélectionne "600%" On vérifie ainsi que l'image insérée a bien conservé son crénelage.

07

On fait une copie écran de cette image dans LibreOffice Writer et par juxtaposition on vérifie qu'elle présente bien la même taille à l'écran dans LibreOffice Writer et dans KolourPaint.

08

A ce stade, tout semble correct. Par curiosité, on regarde la taille de l'image (en pt) vue par Libreoffice Writer. Pour cela on clique droit sur l'image et on sélectionne l'option Properties.

09

Dans la boite de dialogue qui s'ouvre on peut voir que les dimensions de l'image vues par LibreOffice Writer sont de 225pt x 150pt et non pas 300 x 200 comme on aurait pu s'y attendre. On constate donc qu'une image bitmap qui présente une taille de 300x200px dans Kolourpaint et insérée dans Libreoffice Writer en étant identique en taille et en contenu (nombre de pixels distincts et crénelage conservés) est vue par LibreOffice comme présentant une taille de 225 x 150pt.

10

Cela peut conduire à s'interroger mais ne pose pas de problème de fond car si on examine attentivement les détails des deux images bitmap (l'image source au format bmp noir et blanc créée dans KolourPaint et l'image insérée dans LibreOffice en procédant comme indiqué ci-dessus), on distingue bien individuellement (dans LibreOffice Writer) les pixels qui étaient distincts dans KolourPaint. Etant donné qu'au plan graphique tout est correct, il n'est pas indispensable de se poser davantage de questions. Pour retrouver la taille de l'image exprimée en pixels (pixels qui restent parfaitement distincts dans Libreoffice), il suffit simplement de multiplier les points (pt) LibreOffice par 4/3 (225ptx4/3=300px et 200ptx4/3=150px).

11