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

StackOverflow https://stackoverflow.com/questions/322052

Вопрос

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

Спасибо.

Это было полезно?

Решение 2

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

Другие советы

Самый простой способ - нарисовать 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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top