Une galerie de formats d'image

Avant de choisir une bibliothèque, la question est presque toujours la même : est-ce qu'elle lira les images qu'on a déjà ? Nous lisons ces quatre formats. Le JPEG, celui que produisent un appareil photo et un téléphone. Le PNG, celui dans lequel arrive une copie d'écran, et dans lequel arrive un logo avec des parties transparentes. Le BMP, le format simple et non compressé que d'anciens logiciels écrivent encore. Et le TIFF, celui qu'écrivent un scanner et un télécopieur, des piles entières de feuilles à la fois. À eux quatre, ils couvrent ce qui sort d'un appareil photo, ce qui sort d'un écran, ce qui sort d'un scanner et ce qui sort d'une machine ancienne, c'est-à-dire à peu près tout ce dont un document de travail est fait.

Une liste dans un manuel dit ce que quelqu'un a eu l'intention de prendre en charge, pas ce qui se passe quand on lui tend un vrai fichier sorti d'un vrai appareil photo. Cette page est donc la réponse sous la forme qui ne flatte personne : toutes les images sur lesquelles les tests du moteur sont passés, ouvertes, et décrites par ce qui en est ressorti plutôt que par ce qu'on avait annoncé à l'exemple — et à elles toutes, ces images couvrent les quatre formats. Un fichier qui ne déclare rien de lui-même le dit, et c'est justement pour ça qu'il vaut la peine d'être montré à côté de ceux qui déclarent quelque chose.

Ce que montre cet exemple

  • Les quatre formats lus — JPEG, PNG, BMP et TIFF — tous sur une seule page.
  • Des légendes relues dans l'image elle-même, jamais tapées à la main.
  • Des images qui ont leur propre description, et une qui laisse la page s'en charger : les deux montrées telles qu'elles arrivent.

Le code source complet

Rien n'est omis et rien n'est simplifié : c'est le programme exactement tel qu'il tourne, pour le développeur qui utilise cette bibliothèque. La troisième est la description elle-même : une simple liste de ce que la page doit dire, et c'est elle qu'on envoie au service.

Voir le code Rust Voir le code Python Voir le code JSON

Le document lui-même

Ouvrir le document en anglais Ouvrir le document en français

Une galerie de formats d'image, première page

Optimisé, ce document pèse 87.8 ko — au moins 50 % de moins que ce qu'écriraient la plupart des générateurs de PDF

Le document est plus léger qu'avant, et chaque page a exactement le même aspect. Voir la ligne de ce document dans le tableau de tous les exemples.

Des exemples voisins de celui-ci

Des images sur une page

Une photo qui entre exactement comme elle est sortie de l'appareil, et une image à parties transparentes qui les garde, chacune sur une page taillée à sa mesure.

Une image ajustée à un rectangle

Une même image ajustée de huit façons dans un rectangle d'une seule taille : trois façons de la dimensionner, la même posée dans le coin en haut à gauche avec un retrait de 12 points, un quart de tour à gauche, un quart de tour à droite, une rotation de 20 degrés, et un miroir de gauche à droite — chaque panneau traçant l'image à l'endroit et à la taille que la bibliothèque a calculés.

Deux commandes, un cadre, un même bas de page

Une commande de quatre lignes et une de sept, dans des cadres de même hauteur, se terminant toutes deux sur le même bord bas. En dessous, deux notes de longueur inégale dont les lignes sont écartées jusqu'à ce que chacune atteigne le pied de son cadre.

Code 128 et codes-barres du commerce

Des rayures pour les deux usages qui en veulent : le Code 128 pour n'importe quel texte, et les trois que lit une caisse — EAN-13, UPC-A, EAN-8 — chacun avec son dernier chiffre calculé plutôt que tapé.

Tous les exemples, par sujet