CurveDraw - 0.5
This is based on my earlier Bézier curves demo, which can be found here.
CurveDraw is a drawing app which uses Bézier curves. It's still in early alpha, and so it's lacking most of the functions I intend to implement (for example saving drawings, duplicating objects, loading images to trace and suchlike).
How to useCurveDraw works in two modes: object view and editing. You can switch between these using the TAB key (this will enter or exit editing mode for the selected curve object). To create a curve object, right-click in the position you wish to place the first point. The program will automatically switch to editing mode for the new curve object, where you can add new points by right-clicking and move points by dragging. Each point has two control points attached to it, which are used to control the path of the curve.
In object viewing mode, you can select curve objects by clicking on them, and delete selected objects with the delete key. Curve objects can also be dragged around the screen.
To toggle the grid in the background, use the G key.
Matrix transformationsI've added the beginnings of a transformation module which will be used for transformations such as scale, rotate and shear. At the moment scaling is implemented; press S in object view mode and then move the mouse to scale the selected curve object (pull away from the object to scale up, push in to scale down) and then click to complete the operation.
Closed curve objectsPressing C in edit mode will toggle whether the curve is closed.
Images can be savedYou can now save the current drawing with CTRL-S (although it just saves to "Test.jpg" in the script's folder at the moment).
Object duplication addedYou can duplicate the selected curve object by pressing the D key when in object view mode.
Improved mouse-click detectionWhereas in the previous release you had to click on one of the points on a curve to select it, in this version you can now click anywhere on the curve itself.
Various graphical enhancementsSeveral improvements have been made to the interface, such as highlighting the curve which is being edited or is selected, highlighting selected control points, and not drawing in points for curves which are not selected in object view mode.
Pygame.org account Comments
If you wish to leave a comment with your pygame.org account, please sign in first.