Как программно сбросить цвета в PDF - PullRequest
2 голосов
/ 04 сентября 2010

Я создаю файл PDF и хочу создать несколько прямоугольников на странице Однако, как только я закрашиваю прямоугольник цветом, я не могу сбросить цвет заливки (цвет без штрихов) прозрачный, белый, прозрачный или любой другой, необходимый для того, чтобы в прямоугольнике не было цвета

Я использую это, чтобы установить красный и черный ход без штрихов

1.0  0.0  0.0 rg
1.0  0.0  0.0 RG

Я установил ширину линии

1 w

Я рисую прямоугольник, и он выглядит как красный прямоугольник (обведен красным цветом)

0046.8 0633.6 0237.6 0100.8 re
B

Теперь я установил черный ход

0.0  0.0  0.0 RG

Я пытаюсь создать еще один прямоугольник (мне нужен только черный контур)

0072.0 0576.0 0288.0 0144.0 re
B

Но второй прямоугольник появляется с черным контуром, но заполнен красным? Как получить красный от красной заливки?

1 Ответ

3 голосов
/ 04 сентября 2010

Ваша проблема в использовании B.Если вы поменяете местами две операции рисования, вы увидите, что (что было) второй прямоугольник теперь заполнен чёрным , потому что чёрный - это цвет по умолчанию.Вы должны использовать S для второго прямоугольника, чтобы этот путь был обведен, но не заполнен.

Кстати, вам не хватает некоторых действительно простых способов уменьшить размер вашего сгенерированного PDF:

  • Используйте g / G вместо rg / RG, когда все три числа одинаковы.
  • 1 w не требуется (если возврат к этому параметру издругой), 1 - это значение по умолчанию для ширины штриха.
  • Не печатать конечные .0 или начальные нули на ваших числах.

Собирая все вместе, воткак должен выглядеть ваш сгенерированный поток страниц:

1 0 0 rg 1 0 0 RG
46.8 633.6 237.6 100.8 re B
0 G
72 576 288 144 re S
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...