Une case répétée pour remplir une forme
Dessiner une petite cellule et la faire répéter encore et encore pour remplir une forme : hachure, tissage, fond de points.
Le résultat dans un vrai PDF
Un seul motif, répété sur tout ce qu’il remplit
Six panneaux remplis de motifs répétés — barres, points, une inclinaison obtenue sans redessiner le motif, un mur de briques, deux motifs qui se croisent, un écart plus large — et un nom en grandes lettres tapissé d’un sceau pris sur une page d’un autre PDF.
Ouvrir le PDF Voir l’exemple complet
Également dans les exemples : Une hachure, posée dans n’importe quelle couleur
Résumé
Pensez à un carrelage. Vous ne dessinez pas chaque carreau : vous en dessinez un, et vous dites à quelle distance ils se posent. Ça coûte au fichier une seule case, quelle que soit la taille de la forme. Écartez les cases plus que la case n’est large et vous obtenez des vides entre elles ; rapprochez-les et elles se chevauchent, la suivante par-dessus la précédente. Une case qui ne bouge jamais est refusée : elle se poserait indéfiniment au même endroit.
Techniquement
Écrit au premier niveau d’une requête, sous
"tilings"
tilings déclare les cellules répétées que le document définit pour lui-même, en motifs de pavage /PatternType 1, chacune sous le nom par lequel le remplissage d’une forme la choisit. box est la /BBox, la zone de l’espace propre à la cellule qui est posée, et rien en dehors d’elle n’est dessiné. step est le /XStep et le /YStep, l’écart entre les cellules, en largeur et en hauteur : plus large que la boîte, il laisse un vide ; plus étroit, il les fait se chevaucher ; et un pas nul est refusé. colored règle le /PaintType : une cellule qui ne déclare pas ses propres couleurs prend la couleur du remplissage qui l’emploie, ce qui permet à une même hachure de servir dans n’importe quelle couleur. spacing dit dans quelle mesure le logiciel de lecture peut arbitrer entre le pas et la cellule ; en son absence, le pas reste exact. Pour un nom déclaré deux fois, la dernière déclaration l’emporte.
Schéma de la requête
-
tilings— tableau, facultatif, vide par défaut. -
tilings[].name— chaîne, obligatoire. Le nom sous lequel un remplissage choisit cette cellule. Pour un nom déclaré deux fois, la dernière déclaration l’emporte. -
tilings[].box— objet, obligatoire, fait dellx,lly,urxetury. La zone de l’espace propre à la cellule qui est posée. -
tilings[].step— tableau de deux nombres, obligatoire. La distance entre les cellules, en largeur et en hauteur. Un pas nul est refusé. -
tilings[].colored— booléen, facultatif,truepar défaut. Dit si la cellule définit ses propres couleurs. Une cellule qui ne les définit pas prend la couleur du remplissage qui l’emploie, ce qui permet à une même hachure de servir dans n’importe quelle couleur. -
tilings[].spacing— chaîne, facultative. Dans quelle mesure le logiciel de lecture peut arbitrer entre le pas et la cellule :constant,undistorted,constant_and_fast. En son absence, le pas reste exact. -
tilings[].items— tableau, obligatoire. Les formes dont la cellule est faite, dans l’ordre où elles sont dessinées, comme les accepte un dessin déclaré. -
tilings[].matrix— tableau de six nombres, facultatif. Ce qu’est l’espace propre au plan pavé dans l’espace de la page. Absent, le pavage se fait dans l’espace de la page, si bien qu’une hachure se penche en inclinant le plan plutôt qu’en dessinant une cellule penchée. -
tilings[].pdf_pages— tableau, facultatif, vide par défaut. Les pages de PDF fournis que la cellule place sous ses formes : un sceau ou un motif découpé dans une image numérisée, répété sur toute une zone. Chaque entrée désigne danspdfla partie fournie d’où vient la page, danspagelaquelle de ses pages (la première par défaut), dansxetyla position de son coin inférieur gauche (0 par défaut) et dansscaleson échelle (1 par défaut). Une entrée qui désigne une partie que la requête n’a pas fournie est refusée.
Portée : le document entier. Une forme fait appel à une case en la nommant là où elle nommerait une couleur, et la case est posée dans les coordonnées de la page, si bien que deux formes remplies de la même case s’alignent l’une sur l’autre.
Une requête entière qui crée un PDF
{
"tilings": [
{
"name": "upright",
"box": { "llx": 0, "lly": 0, "urx": 8, "ury": 8 },
"step": [8, 8],
"spacing": "constant",
"colored": true,
"items": [
{
"type": "rect",
"rect": { "llx": 0, "lly": 0, "urx": 3, "ury": 8 },
"fill": [0.12, 0.28, 0.52]
}
]
}
],
"items": [
{
"type": "rect",
"rect": { "llx": 72, "lly": 600, "urx": 320, "ury": 740 },
"fill": { "pattern": "upright" }
}
]
}
La couleur et la façon dont elle est rendue
L’appareil pour lequel les couleurs sont déclarées À quelle plaque d’une feuille séparée correspond une page L’appareil pour lequel les couleurs d’une page sont dites Déclarer une couleur au-delà du rouge, du vert et du bleu Ce que veulent dire les nombres bruts d’une page Une couleur qui glisse vers une autre L’opacité, le mélange, et ce que demande une presse L’espace dans lequel la page mélange ses couleurs
Où aller ensuite
Toutes les clés JSON d’une requête, en une page Les quarante et un autres réglages d’une requête