(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Режим заливки в CorelDRAW, или почему некоторые кривые имеют заливку в тех областях где должен быть просвет

Источник: cdrpro
Sancho

Режим заливки в CorelDRAW, или почему некоторые кривые имеют заливку в тех областях где должен быть просвет

Наверное каждый пользователь CorelDRAW, хоть раз, но сталкивался с такой проблемой, когда скомбинированные кривые (пути) имеют заливку даже в тех местах где должны быть просветы. И решение то вроде простое - поменять направление одного из путей. Но почему так происходит и что это за баг такой? А может не баг вовсе...

И действительно, это ни какой не баг, а одна из особенностей работы с кривыми. Всё дело в том что CorelDRAW поддерживает два режима заливки: Alternate и Winding.

Режим заливки в CorelDRAW, или почему некоторые кривые имеют заливку в тех областях где должен быть просвет

По умолчанию в программе используется именно Alternate режим, а поменять его на Winding можно только из VBA. Но истинные причины появлений кривых с таким режимом заливки совсем не в VBA, а в импорте файлов ПостСкрипт форматов ( ai, pdf, eps ), где кривые могут иметь заливку с режимом Winding.

Кстати говоря, этот режим имеет одну дополнительную особенность - реверс направления пути приводит к появлению просвета, что в свою очередь позволяет использовать залитые участки с просветами в одной кривой.

Режим заливки в CorelDRAW, или почему некоторые кривые имеют заливку в тех областях где должен быть просвет

Т.к. менять режим через пользовательский интерфейс нельзя, я написал макрос, который переключает режим заливки с одного на другой:

view source print?
01  Sub ChangeFillMode()  
02    If ActiveSelectionRange.Count = 0 Then Exit Sub 
03    Dim s As Shape  
04    For Each s In ActiveSelectionRange  
05      If s.CanHaveFill Then 
06        If s.Fill.Type <> cdrNoFill Then 
07          If s.FillMode = cdrFillAlternate Then _  
08            s.FillMode = cdrFillWinding Else _  
09            s.FillMode = cdrFillAlternate  
10        End If 
11      End If 
12    Next 
13  End Sub 

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 13.06.2012 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Kaspersky Endpoint Security для бизнеса – Стандартный Russian Edition. 10-14 Node 1 year Base License
Microsoft Office для дома и учебы 2019 (лицензия ESD)
Quest Software. SQL Navigator for Oracle
NauDoc Enterprise 10 рабочих мест
Delphi Professional Named User
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование в AutoCAD
Компьютерный дизайн - Все графические редакторы
Вопросы и ответы по MS SQL Server
Мастерская программиста
Работа в Windows и новости компании Microsoft
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100