(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
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год.
TeeChart for .NET Standard Business Edition 2017 single license
TeeChart Pro VCL/FMX with source code single license
SmartBear QAComplete Concurrent User Subscription License - On Premise (1 Year Subscription)
Allround Automation PL/SQL Developer - Unlimited license
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование в AutoCAD
Компьютерный дизайн - Все графические редакторы
Программирование на Visual С++
Delphi - проблемы и решения
Мастерская программиста
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100