Narysuj proste linie w Inkscape

12

Mogę rysować linie w Inkscape (za pomocą narzędzia Beziera lub narzędzia linii odręcznych), ale pojawiają się one jako obiekty ścieżki, a kiedy je zapisuję, w pliku svg są również wyświetlane jako ścieżka. Moje pytanie brzmi: jak rysować i zapisywać linie jako linie, a nie ścieżki w Inkscape?

Zoltán
źródło
Cześć. Witamy w GDSE. Czy mogę zapytać, dlaczego chcesz to zrobić? Co masz nadzieję zyskać? Co konkretnie próbujesz zrobić?
Billy Kerr,
@BillyKerr Zgadłem, że chce przekazać dane wejściowe do już istniejącego programu, który oczekuje poleceń linii SVG.
user287001,
1
Ale to może rozwiązać problem, jeśli pytający ma możliwość uruchomienia programu Illustrator. Dodaj to do swojej odpowiedzi!
user287001
1
@ user287001 - cóż, to dziwne. Inkscape widzi segment linii, ale nie ma możliwości jego utworzenia! Zobacz przykładowy segment linii zaimportowany z programu Illustrator
Billy Kerr
2
Przepraszam za późną odpowiedź. Jak wspomniał użytkownik 287001, muszę podać SVG jako dane wejściowe i oczekuje linii. Zastanawiałem się, czy Inkscape może tworzyć linie, ponieważ widzi linie i jeśli otworzysz linie zawierające SVG, możesz je zmodyfikować i zapisać, a on pozostanie linią.
Zoltán,

Odpowiedzi:

12

TLDR: Naprawdę nie możesz, ale możesz w pewnym sensie *

W Inkscape linie lub kształty (z wyjątkiem prostokątów **) są zwykle konstruowane przy użyciu koncepcji ścieżek wektorowych, do których stosowane są wypełnienia i obrysy. Tak działa oprogramowanie. W Inkscape nie ma narzędzia do segmentowania linii, takiego jak w programie Illustrator.

* Możliwe jest łączenie lub osadzanie obrazów rastrowych w Inkscape i innych edytorach obrazów wektorowych, ale pozostaną one jako obrazy rastrowe wykonane z pikseli. Możliwe jest także rasteryzowanie obiektów wykonanych w programie Inkscape za pomocą opcji Edycja> Utwórz kopię mapy bitowej , ale znowu będą one wykonane z pikseli, a nie z wektora.

* Można również użyć znaków podkreślenia, aby utworzyć linię, która oczywiście byłaby obiektem tekstowym, a nie ścieżką. Ale z drugiej strony, ściśle mówiąc, czcionki są nadal tworzone ze ścieżek wektorowych.

** Możliwe jest również utworzenie długiego prostokąta i wypełnienie go. Technicznie nie jest to ścieżka jako taka, ale obiekt prostokątny SVG, który zobaczysz, jeśli zbadasz kod XML.

Edycja: po komentarzach użytkownika 287001 wydaje się, że istnieją inne możliwości. Program Illustrator ma narzędzie do segmentowania linii, a linia z nim utworzona i wyeksportowana jako SVG utworzy obiekt linii SVG. Inną możliwością jest ręczne kodowanie segmentu linii. Nie powinno być zbyt trudno go zhakować. Co dziwne, Inkscape może zobaczyć te elementy SVG, jeśli otworzysz takie SVG w Inkscape.

Oto przykładowy segment linii SVG, który wydaje się działać w Inkscape, po prostu nie można go utworzyć za pomocą narzędzia ani edytować punktów końcowych za pomocą narzędzia za pomocą GUI. Możesz go jednak obrócić i rozciągnąć.

  <line
 x1="37.770248"
 y1="32.135063"
 x2="80.329521"
 y2="18.314875"
 id="line1"
 style="fill:none;stroke:#231f20;stroke-width:0.48102528;stroke-miterlimit:10" />
Billy Kerr
źródło
1
Jeśli ktoś chce poprosić o tę funkcję, oto strona, na której możesz to zrobić. Zrobiłbym to sam, ale nie jestem pewien, czy dobrze rozumiem przypadek użycia.
Wildcard
Próbowałem znaleźć tę stronę dla PO, ale nie udało mi się tego. Dziękujemy bardzo za udostępnienie linku!
Billy Kerr
6

Wydaje się, że Inkscape tworzy kod XML dla ścieżki, nawet jeśli rysujesz odcinek linii prostej za pomocą narzędzia Pióro w trybie linii prostej. Wydaje mi się, że pewne programowanie jest potrzebne albo do konwersji poleceń ścieżki na polecenia linii SVG, albo do stworzenia narzędzia do rysowania, które tworzy wewnętrznie wyrażenia linii SVG.

Niestety nie mogę pokazać takiego programu rozszerzenia Inkscape, a tym bardziej mogę go stworzyć. Ale sprawdź tę dyskusję na stronie siostrzanej: /programming/9102563/turn-svg-path-into-line-segments

Szybkie wyszukiwanie wyskoczyło również ten kod. https://jsfiddle.net/fq9n7f76/18/

Muszę przyznać, że nie widzę, czy jest to poprawne, ale wydaje się, że wypowiada polilinie. Mam nadzieję, że potrafisz lepiej czytać i mówić tym językiem.

Niektóre programy CAD mogą eksportować pożądane linie SVG. Sprawdziłem, że przynajmniej LibreCAD to robi, ponieważ niektóre narzędzia CAM tego chcą. LibreCAD jest darmowy. Sprawdź, czy możesz tam wykonać pracę rysunkową.

użytkownik 287001
źródło
Dzięki za odpowiedź. Tak, znam ten język, ponieważ jestem programistą, a nie projektantem :)
Zoltán