| |
Corel FORUM Forum użytkowników programów firmy Corel. Grafika wektorowa, rastrowa i obróbka zdjęć cyfrowych |
 |
CorelDRAW - grafika wektorowa - Problem przy łączeniu obiektów
Gie - 12 Styczeń 2011, 10:44 Temat postu: Problem przy łączeniu obiektów Zdarza mi się czasem, że obiekty zostały połączone ale w widoku dokładnym tego nie widać a jedynie w widoku szkieletowym. Miejsce gdzie powinna być dziura jest wypełnione kolorem. Nie pomaga wykonanie tej czynności przez narzędzie "przytnij". W innym miejscu tego obiektu (krzywa) wykonywanie takich dziur się udaje. Proszę o pomoc.
wawel - 12 Styczeń 2011, 11:03
Najlepiej to zalacz plik cdr (w jakiejs niskiej wersji)
W ktorej wersji programu to robisz?
pozdr.
Gie - 12 Styczeń 2011, 11:08
Teraz pracuję w wersji X5 ale problem pojawiał mi się już w wersji X3. Załączam mój problematyczny rysunek w wersji 9. Pozdrawiam
wawel - 12 Styczeń 2011, 11:40
Bardzo zabawne bo:
otwierajac ten plik cdr w inkscape wszystko jest ok
otwierajac w corelu jest zle
zapisujac z corela jako ai i ponowie otwierajac w corelu tez jest ok.
W samym corelu tez mozna to poprawic, ale najszybciej bedzie chyba uzyc formatu ai.
pozdr.
Gie - 12 Styczeń 2011, 11:51
Dziękuję za pomoc. Konwersja do formatu ai pomaga. A jak to zrobić w corelu? (ściekawości) :) Pozdrawiam.
restauro - 12 Styczeń 2011, 11:57
Nie wiem jak to robisz ,ale wiem jak się to poprawić .Kliknij dwa razy na narzędzie prostokąt ,zaznacz wszystko , następnie Kształtowanie - Przytnij . Powstały szablon wycina już bez zbędnych wypełnień w ornamencie . Przynajmniej u mnie tak się dzieje.Czy to na pewno robione w Corelu?
Martin Nez - 29 Styczeń 2011, 14:18
Ten skrypt powinien rozwiązać problem... Działa na zasadzie, którą opisał restaro. Też mnie kiedyś to drażniło...
Ograniczenie: działa tylko z paletami kolorów HKS i Pantone Solid Coated (tylko tych używam w pracy)... Jeśli będzie trzeba mogę nad nim przysiedzieć i poprawić, żeby działał też na kolory cmykowe.
| Kod: | Sub ZalaneKsztalty()
ActiveDocument.Unit = cdrMillimeter
ActiveShape.Name = "Grafika"
'pobranie wymiarow grafiki
Dim rozmiarGrafikiSzerokosc As Double
Dim rozmiarGrafikiWysokosc As Double
rozmiarGrafikiSzerokosc = ActiveShape.SizeWidth
rozmiarGrafikiWysokosc = ActiveShape.SizeHeight
'pobranie koloru grafiki
Dim paleta As cdrPaletteID
Dim kolor As Long
paleta = ActiveLayer.Shapes("Grafika").Fill.UniformColor.PaletteID
If paleta = cdrHKS Or paleta = cdrPANTONECoated Then
kolor = ActiveLayer.Shapes("Grafika").Fill.UniformColor.PaletteIndex
'ustawienie rozmiarow prostokatow
Dim prostokat1Szerokosc As Double
Dim prostokat1Wysokosc As Double
prostokat1Szerokosc = rozmiarGrafikiSzerokosc + 10
prostokat1Wysokosc = rozmiarGrafikiWysokosc + 10
Dim prostokat2Szerokosc As Double
Dim prostokat2Wysokosc As Double
prostokat2Szerokosc = prostokat1Szerokosc + 10
prostokat2Wysokosc = prostokat1Wysokosc + 10
'rysowanie prostokatow
Dim prostokat1 As Shape
Set prostokat1 = ActiveLayer.CreateRectangle(0, 0, prostokat1Szerokosc, prostokat1Wysokosc)
prostokat1.Fill.UniformColor.FixedAssign paleta, kolor, 100
prostokat1.Outline.SetProperties 0, OutlineStyles(0), CreateCMYKColor(0, 0, 0, 0), ArrowHeads(0), ArrowHeads(0), cdrFalse, cdrFalse, cdrOutlineButtLineCaps, cdrOutlineMiterLineJoin, 0#, 100, MiterLimit:=45#
prostokat1.Name = "Pro1"
Dim prostokat2 As Shape
Set prostokat2 = ActiveLayer.CreateRectangle(0, 0, prostokat2Szerokosc, prostokat2Wysokosc)
prostokat2.Fill.ApplyNoFill
prostokat2.Outline.SetProperties 0.001, OutlineStyles(0), CreateCMYKColor(0, 0, 0, 100), ArrowHeads(0), ArrowHeads(0), cdrFalse, cdrFalse, cdrOutlineButtLineCaps, cdrOutlineMiterLineJoin, 0#, 100, MiterLimit:=45#
prostokat2.Name = "Pro2"
'wycentrowanie prostokatow wzgledem grafiki
prostokat1.AlignToShape cdrAlignLeft + cdrAlignRight, ActiveLayer.Shapes("Grafika"), cdrTextAlignBoundingBox
prostokat1.AlignToShape cdrAlignTop + cdrAlignBottom, ActiveLayer.Shapes("Grafika"), cdrTextAlignBoundingBox
prostokat2.AlignToShape cdrAlignLeft + cdrAlignRight, ActiveLayer.Shapes("Grafika"), cdrTextAlignBoundingBox
prostokat2.AlignToShape cdrAlignTop + cdrAlignBottom, ActiveLayer.Shapes("Grafika"), cdrTextAlignBoundingBox
'przycinanie prostokatow
Dim prostokat3 As Shape
Set prostokat3 = ActiveLayer.Shapes("Grafika").Trim(ActiveLayer.Shapes("Pro2"), True, False)
ActiveLayer.Shapes("Grafika").Delete
Set prostokat3 = ActiveLayer.Shapes("Pro2").Trim(ActiveLayer.Shapes("Pro1"), True, False)
ActiveLayer.Shapes("Pro2").Delete
'inne pierdoly
ActiveLayer.Shapes("Pro1").Name = "Krzywa"
ElseIf ActiveLayer.Shapes("Grafika").Fill.UniformColor.Name = "Biały" Or ActiveLayer.Shapes("Grafika").Fill.UniformColor.Name = "Czarny" Then
Exit Sub
Else
MsgBox ("Wybierz kolor obiektu.")
Exit Sub
End If
End Sub
|
Pozdr,
Martin Nez
|
|