L'espace dans lequel la page mélange ses couleurs

Dire dans quel espace de couleur les marques d'une page se mélangent entre elles, pour un résultat identique partout.

Résumé

Quand deux couleurs semi-transparentes se recouvrent, il faut bien décider comment elles se combinent. Selon la façon de compter, le résultat n'est pas tout à fait le même : un rouge à moitié transparent posé sur un bleu peut virer un peu différemment d'un appareil à l'autre. Fixer la règle une fois, pour toute la page, c'est ce qui fait sortir de presse la couleur que l'écran montrait.

Techniquement

Écrit au premier niveau d'une requête, sous "transparency"

transparency fait de chaque page un groupe de transparence /Group/S /Transparency avec l'espace dans /CS — de sorte que ses marques se composent entre elles dans l'espace nommé ici, plutôt que dans l'espace où chacune s'est trouvée peinte. C'est ce qui fait qu'un rouge à moitié opaque au-dessus d'un bleu donne la même couleur où que la page soit montrée. L'espace nommé est un espace que color_spaces déclare ; /I et /K complètent le groupe, l'isolement et le masquage.

Schéma de la requête

  • transparency — objet, facultatif, absent par défaut.
  • transparency.space — chaîne, obligatoire. Le nom d'un espace de couleur déclaré par color_spaces. Un nom que la requête n'a pas déclaré est refusé, et la réponse le nomme.
  • transparency.isolated — booléen, facultatif, false par défaut. Le groupe part de rien plutôt que de ce qui se trouve derrière la page.
  • transparency.knockout — booléen, facultatif, false par défaut. Une marque du groupe remplace ce qu'une marque antérieure du même groupe a posé, au lieu de se composer avec elle.
  • Le réglage vaut pour toutes les pages du document. L'opacité et le mode de mélange d'une forme précise se règlent par graphics_states.

Une requête entière qui crée un PDF

{
  "color_spaces": [
    {
      "name": "blend",
      "space": { "cal_rgb": { "white_point": [0.9505, 1.0, 1.089] } }
    }
  ],
  "transparency": { "space": "blend", "isolated": true },
  "graphics_states": [{ "name": "half", "state": { "fill_alpha": 0.5 } }],
  "items": [
    {
      "type": "rect",
      "rect": { "llx": 60, "lly": 700, "urx": 200, "ury": 790 },
      "fill": [0.85, 0.15, 0.15]
    },
    {
      "type": "rect",
      "rect": { "llx": 140, "lly": 660, "urx": 280, "ury": 750 },
      "fill": [0.15, 0.3, 0.85],
      "graphics_state": "half"
    }
  ]
}

La ligne qui l'envoie, en trois langages

La couleur et la façon dont elle est rendue

L'appareil pour lequel les couleurs sont dites De quelle plaque d'une feuille séparée une page est L'appareil pour lequel les couleurs d'une page sont dites Déclarer une couleur au-delà du rouge-vert-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 Une case répétée pour remplir une forme

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

Voir les prix Voir les exemples