pencil2d / pencil

Pencil2D is an easy, intuitive tool to make 2D hand-drawn animations. Pencil2D is open source and cross-platform.
http://pencil2d.org
GNU General Public License v2.0
1.47k stars 273 forks source link

Raster geometric shapes #1648

Open hellocatfood opened 3 years ago

hellocatfood commented 3 years ago

Can tools for basic raster geometric shapes be added? A square/rectangle, circle/ellipse, and triangle/star tool would suffice.

(I've seen in #540 that there are plans for vector geometric shapes but there's no mention of this for rsater shapes)

Jose-Moreno commented 3 years ago

@hellocatfood Hi friend, thank you for taking the time to submit a ticket. When we mention vector shapes it's not that they will only work for vector layers, but that they are based on vector shapes since it's the most suitable way to have different kinds of primitive shapes that can be transformed before baking themselves on the canvas pixels.

Ideally tools in Pencil2D are thought (and should) work for both layer types, just like the polyline tool currently does, with some minor variations in their functionality which come from its ancestor Pencil. In this case the PL tool would be similar to the potential shapes tool since it uses a vector path (QPainterPath) as a base and it can be "rasterized" or not depending on the layer it's used.

I'll keep this issue open just as clear reminder for other users that a potential shapes tool will work on both layer types, although it's also a way to separate the functionality itself and hopefully add this tool first for the bitmap layer in case the vector engine takes too long. Additionally for completeness I'll link the existing issue related to this which discusses a request on having an actual panel for such shapes https://github.com/pencil2d/pencil/issues/571

Please consider asking next time in our discord or forum before posting an issue or feature request in case there is existing information that you may not have prior and which could satisfy your request better to avoid duplicates.