Мне нужно написать программу для рисования графика с использованием HP PCL 5e / HP / GL2 - PullRequest
0 голосов
/ 26 ноября 2008

Я прочитал пример и попытался продублировать его методы, но со странными результатами. Это сделка с одним выстрелом, поэтому я не хочу покупать пакет для этого. Кроме того, он будет выполняться в многозначной базе данных в Basic, в которую больше не пишут многие программисты. Если кто-то может опубликовать небольшой пример этого было бы очень полезно. В частности, мне нужна коробка, центрированная на бумаге 8х11 с левой 1/3, заполненной зеленым, центр 1/3 - желтым, а последняя 1/3 - красным. Затем проведите линию через 3 точки в каждом цвете прямоугольника.

Спасибо.

Ответы [ 2 ]

1 голос
/ 02 декабря 2008

Самый простой способ - нарисовать 3 коробки. Вы должны будете расположить каждого из них самостоятельно, выполняя свою собственную математику, чтобы определить, с чего начать первый, чтобы он был в центре и т. Д.

Сначала поместите курсор в верхний левый угол первого поля, нарисуйте его, переместитесь в верхний левый угол следующего поля, нарисуйте его и сделайте то же самое для последнего. Вот некоторый код:

<esc>&u300D<esc>*t300R<esc>*p300x300Y<esc>*r3U<esc>*v2S<esc>*c300a300b5P<esc>*p600x300Y<esc>*r3U<esc>*v3S<esc>*c300a300b5P<esc>*p900x300Y<esc>*r3U<esc>*v1S<esc>*c300a300b5P

Вот объяснение:

<esc>&u300D<esc>*t300R -- set the Unit of Measure and Resolution (in this case 300 dpi)
<esc>*p300x300Y -- move cursor to 300x 300y (1 inch x 1 inch) 
<esc>*r3U<esc>*v2S -- set the color palette to RGB and use color 2 (green)
<esc>*c300a300b5P -- draw a box that is 300 wide and 300 tall, use current fill pattern
<esc>*p600x300Y -- move cursor to 600x 300y
<esc>*r3U<esc>*v3S -- set the color palette to RGB use color 3 (yellow)
<esc>*c300a300b5P -- draw a box that is 300 wide and 300 tall, use current fill pattern
<esc>*p900x300Y -- move cursor to 900x 300y
<esc>*r3U<esc>*v1S -- set the color palette to RGB use color 1 (red)
<esc>*c300a300b5P -- draw a box that is 300 wide and 300 tall, use current fill pattern

Вот другие цвета и палитры, имейте в виду, что это простой способ, вы можете указать свой собственный RGB и т. Д.

RGB Palette
<esc>*r3U<esc>*v1S - Red                
<esc>*r3U<esc>*v2S - Green
<esc>*r3U<esc>*v3S - Yellow
<esc>*r3U<esc>*v4S - Blue
<esc>*r3U<esc>*v5S - Magenta
<esc>*r3U<esc>*v6S - Cyan

CMYK Palette
<esc>*r-3U<esc>*v1S - Cyan
<esc>*r-3U<esc>*v2S - Magenta
<esc>*r-3U<esc>*v3S - Blue
<esc>*r-3U<esc>*v4S - Yellow
<esc>*r-3U<esc>*v5S - Green
<esc>*r-3U<esc>*v6S - Red
<esc>*r-3U<esc>*v7S - Black
0 голосов
/ 28 декабря 2008

Решенная проблема: Ошибка моего мышления заключалась в том, что разница между 300 dpi и 600 dpi была разной, поэтому я разделил на 2, и ответ выглядел почти правильно. Настоящей проблемой была разница между 3oo dpi и 720 Decipoints. Реальный фактор должен был быть 2,4, и теперь он работает отлично.

...