[wish] new "boxmodel" for grid alignment (1pixel border issue)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Inkscape |
Confirmed
|
Wishlist
|
Unassigned |
Bug Description
Dealing with 1 pixel bordered shape is something quite usual when you design icons.
The problem is those shape don't align right on the grid (they fall in between pixels) and so they look blurry when exporting to bitmap. Of course, you can align them by hand or use pixelsnap plugin to do that before export but it is quite boring and "realtime" incompatible.
Could we add an option to inkscape so that the coordinates (and width and height) will be displayed according to a box model chosen by the user.
The "real" underlying coordinates will remain the same and will follow the svg boxmodel (where a border is 50% inside a shape and 50% outside), eg a square edited by hand so that its border touches the top left of document:
Box model : SVG coordinates x: 0.5 y: 0.5 w:19 h:19 border:1
but the user could choose to display coordinates in a boxmodel where the border is 100% outside of the shape
Box model : Outside coordinates x: 1 y: 1 w:18 h:18 border:1
or the user could choose a boxmodel where the border is 100% inside of the shape
Box model : Inside coordinates x: 0 y: 0 w:20 h:20 border:1
and if you start to move/size a shape it will grab the grid according to the box model.
Using the svg model, the rectangle will snap to ... -3, -2, -1, 0 ,1 ,2 ,3 ...
and will look blurry because the border is ...[-3.5 -2.5] [-2.5 -1.5] [-1.5 -0.5] [-0.5 0.5] [0.5 1.5] [1.5 2.5] ...
while the two others will look crisp because the border will fit in a full pixel.
tags: | added: snapping ui-selection-group-layer |
There exist two bounding box modes (visual bbox, geometric bbox), and snapping allows to snap either bounding boxes (which include stroke-width if bounding box mode is set to 'visual') or nodes/handles (default snap mode, snaps nodes to grid). What would be the use case for a third bounding box model ("Inside coordinates")?