Создание словаря функций Postscript типа 0

Я пытаюсь создать словарь функций Postscript типа 0. Ввод одномерный, а выход трехмерный. Вход 0 Выход [ 0 0 0] Вход 1 Выход [ 1 1 1] У меня возникли проблемы с записью источника данных для этого словаря функций. В руководстве по PLRM говорится, что DataSource должен быть либо строкой, либо чистыми двоичными данными. Может ли кто-нибудь помочь мне сопоставить эти значения с форматом, ожидаемым DataSource?

/FunctionType 0 /Domain [ 0 1 ] /Range [ 0 1 0 1 0 1] /Order 1 /BitsPerSample 8 /Size [ 2 ] /DataSource ????

Спасибо.


person user517837    schedule 23.11.2010    source источник


Ответы (2)


Согласно PLRM, /DataSource — это либо строка, либо файл. Предположим, что ваши примеры значений равны 0x00 и 0xFF.

Для строки используйте шестнадцатеричную строку следующим образом:

/DataSource <00FF>

Файловый метод более сложен и для двух байт выборки данных будет неэффективен. Я не буду показывать это здесь, если вам действительно не нужно читать данные из файла.

person ScottProuty    schedule 23.11.2010
comment
Я понимаю. У меня возникли проблемы с использованием этого функционального словаря для осевого затенения. Я хочу изменить затенение от белого цвета до черного цвета по диагонали квадрата. Не могли бы вы отредактировать словарь функций в исходном вопросе, чтобы проиллюстрировать, как это можно сделать? - person user517837; 24.11.2010

ОК, основываясь на вашем комментарии, вот как я это сделал:

<< % Make gradient pattern dictionary
  /PatternType 2
  /Shading
  <<
    /ShadingType 2
    /ColorSpace /DeviceRGB
    /Coords [ 0 0 72 72 ] % Set coord array (gradient starting point to ending point)
    /Function
    <<
      /FunctionType 2
      /Domain [ 0 1 ]
      /C0 [ 1 1 1 ] % Set color 1 (white in RGB space)
      /C1 [ 0 0 0 ] % Set color 2 (black in RGB space)
      /N 1
    >>
  >>
>>
matrix makepattern

Это для примера квадрат в 0,0 0,72 72,72 72,0.

person ScottProuty    schedule 30.11.2010