Свой тип растра

Статус
Закрыто для дальнейших ответов.

Status

Топикстартер
15 лет на форуме
Сообщения
177
Реакции
0
Добрый день!
Господа, никто не пробовал сделать свой растр для Agfa'ы?
PS я не знаю, и не очень-то горю желанием, но точно знаю, что в CorelDraw есть возможность задавать объектам и отдельным сепарациям особенный тип растра. CorelDraw предлагает свои типы растра, но вот как можно вставить туда свой растр никак не пойму. Может кто пробовал подобное? Или есть какие-нибудь другие, более изящные пути решения создания своего типа растра?

С уважением, Алексей.
 

Arkady

Участник
Сообщения
697
Реакции
2
Ответ: Свой тип растра

В файле .\Custom Data\userproc.pdf и в .\Languages\EN\Custom Data\userproc.ps) все прекрасно видно.
Файлы эти текстовые!
При выводе Custom dot shape возможна ошибка на PostScript-принтере. Причина — отсуствие пробела (если правильно помню) в одном из файлов PS-пролога, находящихся в .\Programs\data. Исправляется текстовым редактором.
 

ch_alex

Погулять вышел.
15 лет на форуме
Сообщения
8 420
Реакции
2 709
Ответ: Свой тип растра

Status сказал(а):
Господа, никто не пробовал сделать свой растр для Agfa'ы?

в CorelDraw есть возможность задавать объектам и отдельным сепарациям особенный тип растра. CorelDraw предлагает свои типы растра, но вот как можно вставить туда свой растр никак не пойму. Может кто пробовал подобное? Или есть какие-нибудь другие, более изящные пути решения создания своего типа растра?
Для начала, на самом РИПе необходимо иметь поключенную одноимённую математику. Если её нет, то произойдёт сброс и посчитается по дефолту.
 

Arkady

Участник
Сообщения
697
Реакции
2
Ответ: Свой тип растра

Arkady сказал(а):
Custom dot shape возможна ошибка …Причина — отсуствие пробела…
Уточню — отсутствие в PostScript-коде не пробела, а имени spot-функции перед вызовом оператора setscreen. Т.е. slash есть, а имени после него — нет (судя по всему ошибка в CDRPrn.dll).
Исправить можно примерно вот таким workaround (затычкой — англ.):
В упоминавшемся выше файле userproc.ps после bind def Spot-функции дописываем следующие строки:
/_@D where {pop}
{/@D load /_@D exch bind def
/@D {pop
/<Имя_нашей_Spot-функции>
_@D} bind def}ifelse
Вместо Имя_нашей_Spot-функции записываем имя исправляемой Spot-функции.
В качестве примера исправим DoubleDot. После внесения правок соотвествующее место в файле userproc.ps будет выглядеть так:
%@Spot
/DoubleDot %DoubleDot
{ %def --SPOT FUNCTION : DoubleDot
2 {360 mul sin 2 div exch } repeat add
} bind def

/_@D where {pop}
{/@D load /_@D exch bind def
/@D {pop
/DoubleDot
_@D} bind def}ifelse
 

Status

Топикстартер
15 лет на форуме
Сообщения
177
Реакции
0
Ответ: Свой тип растра

Спасибо большое!
Посмотрел-попробовал - забавные вещи получаются. Родилась идея сделать свою точку, не подскажете как нарисовать точку состоящую из окружностей? В аттаче пример.
Спасибо!
С уважением, Алексей.
 

Вложения

  • dot.jpg
    dot.jpg
    36.9 КБ · Просм.: 1 074

Arkady

Участник
Сообщения
697
Реакции
2
Ответ: Свой тип растра

Если с модуляцией по толщине линий, то примерно также, как и CosineDot. Если модулировать надо диаметр всей это структуры, то, боюсь, никак. По крайней мере, просто.
 

lev

Модератор
20 лет на форуме
Сообщения
2 147
Реакции
2 072
Ответ: Свой тип растра

Arkady сказал(а):
Уточню — отсутствие в PostScript-коде не пробела, а имени spot-функции перед вызовом оператора...
Ошибка существует только в CorelDRAW12 без установленного сервис-пака, в других версиях CorelDRAW или после установки SP её не существует.
 
Статус
Закрыто для дальнейших ответов.