: Coordinates of groups in Inkscape I use Inkscape as a UI designer. I want to export each group as a single SVG using the python parser and Inkscape command line renderer but I have problems
I use Inkscape as a UI designer. I want to export each group as a single SVG using the python parser and Inkscape command line renderer but I have problems with the coordinates of each object.
For example I have a group which is a complete window. Inside this group we have another group (for example the close button) that includes a path, a rectangle and an ellipse.
And the parser create tree of folders depending on <g></g>.
When the parser "sees" the <g></g> then it creates a folder named <group ID> and goes deeper until it encounters <g root_img="true"></g>. Everything between <g....></g> is treated as separate SVG and calls Inkscape command line to render it, and save it as *<group ID>*.png.
This is what I have.
[folder]Window
[image]close_btn.png
[image]title_bar.png
[folder]Products_list
[image]product_belt1.png
[image]product_belt3.png
[image]product_belt2.png
[folder]Advanced_options_window
[image]hide_btn.png
[image]title_aow_bar.png
[folder]Options
[image]opt1.png
[image]opt2.png
[image]opt3.png
I want the coordidnates values, for instance:
close_btn 1250, 10
title_bar 0, 0
product_belt1.png 150, 150
But how do I get the absolute coordinates of each group?
EDIT: It is possible to make a plug-in which I add additional arguments[x=150, y=120] to all groups in XML?
More posts by @Si6392903
1 Comments
Sorted by latest first Latest Oldest Best
Not solution but part of it, idea
1 way «semi-automatic»
Place tranparent 1px rectangle with mark-color #f1f2f300 in left-top corner of group and get coordinates of mark-object by parser.
2 way «automatic»
As I understand it needs absolute coordinate from top-left corner, such as the size of document 1000x1000 pixels document, the root-group (height=100px) at the bottom left corner, then she has the coordinates x = 0 and y = 900. Root-group have subgroup and she has same coordinates. Or need a subgroup relative coordinates? Example root-group(0,900) subgroup (0x0)?
If you need only the absolute coordinates here easier — parse group. Compares the coordinates of objects within a group, we need an object with the smallest (x,y) coordinates. This is the position of the group.
But a little more complicated when inkscape added parameter like transform="translate(0,-100)". It appears when the group made a duplicate and change the position of the group. Here it is necessary to make additions and complicate the logic.
Terms of Use Create Support ticket Your support tickets Stock Market News! © vmapp.org2024 All Rights reserved.