-
Notifications
You must be signed in to change notification settings - Fork 100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature request: support transform #11
Comments
I also looked around and could not find support for groups in general. @alexandre01 Do we have to turn groups into simple paths for using the network? |
As a workaround, you could create a script to automate Inkscape and apply it to your SVG input folder as a preprocessing step. Have not tried it myself though. |
Thanks @pwichmann . I will try that out. For now, I figured out that the problem is NOT groups. I loaded an svg with groups and the current code base did load the svg correctly, except that I had to add "fill = "none" to each path in the group, otherwise when it draws its all black. |
Hello @tsaxena, I recently added a Dataloader which can directly handle SVG icons as input. You can first pre-process the entire dataset using the https://github.com/alexandre01/deepsvg/blob/master/dataset/preprocess.py script or load https://github.com/alexandre01/deepsvg/blob/master/deepsvg/svg_dataset.py with already_preprocessed=False to perform preprocessing on the fly. The preprocessing does the following:
Indeed, if you want to train a model for strokes only (without taking filling into account), you can set fill to False. |
Let me just give some clarification regarding filling. Let's take the example of a filled "donut" shape: a filled circle with a "hole" inside. This is done in SVG by drawing in the same < path > a circular shape followed by another smaller circle drawn in the opposite direction (counter-clockwise). This is the even-odd rule. DeepSVG however draws every path separately, and would generate in this case two paths. But how to apply the correct filling? The approach we propose is to predict a fill parameter which can take one of three values: Filling.OUTLINE (for stroke only), Filling.FILL (to fill the path) and Filling.ERASE (to "unfill" that area). During preprocessing, paths are separated but the correct "fill" parameter is memorized. However, when visualising it, all filled shapes appear black. The It's therefore better to stick with strokes for the moment. Hope this helped. |
SVG files use usually contain
transform
tags like the following, but the current library does not seem to support it (as long as I see in svg.py).Is there any plan to support?
The text was updated successfully, but these errors were encountered: