2010-09-03 5 views
1

Я создаю PDF-файл, и я хотел бы сгенерировать несколько прямоугольников на странице Однако, когда я заполняю прямоугольник в цвете, я не могу сбросить цвет заливки (цвет без поглаживания) до прозрачный, белый, прозрачный или все, что необходимо, так что цвет не находится в прямоугольникеПрограммно Как сбросить цвета в 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 

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

0072.0 0576.0 0288.0 0144.0 re 
B 

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

ответ

2

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

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

  • Использование g/G вместо rg/RG, когда все три числа одинаковы.
  • 1 w не требуется (если не возвращаться к этой настройке от другого), значение по умолчанию для ширины штриха является значением по умолчанию.
  • Не печатайте завершающий .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 
Смежные вопросы