Jump to content

[Request] Multi-step lines


Recommended Posts

I'd really like to see lines that are longer than just two endpoints with two control points. Multi-step lines with several midpoints and control points would be greatly appreciated. You could continue adding extra segments to a line as long as you held down shift when you clicked. After you had all your segments, you could go back and move points and control points around.

This would require a few improvements to the GUI for controlling lines however.

First, you would need to be able to switch back and forth between on-line control points and off-line control points (per segment). The simplest thing would be that if you moved a control point it would switch that segment to the correct type that matches the mouse button you used... rather than the type of segment being fixed depending on which button you FIRST used to move it, it would depend on the LAST button you used to move it. It should be noted that this improvement would also benefit the current single-segment curves.

ChangeControlType.png

Second, you would need to be able to specify whether connections between segments were smooth or sharp. I think the most consistent method would be to use right and left click just like you do for control points... if you move the point joining two segments with the left mouse button, it is a sharp join. If you move the point with the right mouse button, it's a smooth join (curve).

Smooth joins would mean that moving the control point on one side of the join would automatically move the control point on the other side of the join (to keep the join smooth). If a join was changed from sharp to smooth, one of the control points (probably the one downstream from the join) would have to be moved to be in-line with the other point.

ChangeJoinType.png

And third, you would need a setting for how sharp joins should be drawn... as an angle, as a curve, or not at all (a gouge).

JoinType.png

Finally, moving a segment join should move the two control points nearest to that join as well (the control point just upstream and just downstream).

MoveJoinPoint.png

I'm sure there's some design questions that I left unanswered. The join between two on-line segments is easy (the join acts just like another on-line control point), but the join between an on-line and an off-line segment is harder... I'm sure it's doable, I just don't know how.

There are also some visual effects that would likely need improving. Control points could be made into circles, while joins stay as squares. Or they could be circles and squares depending on what type of control-point or join they are (sharp joins and on-line control points could be squares... smooth joins and off-line control points could be circles), or perhaps other things like color could be used to differentiate.

I think multi-segment lines are extremely useful (I know that *I* need them badly), and this post outlines the bare minimum UI necessary to implement them.

Link to comment
Share on other sites

That would make cutting out an image a LOT easier.
Umm. While I appreciate your support, I have no Idea what my post has to do with cutting or copying irregular shapes... I'm discussing a modification to the line/curve tool, not a change to the selection tools.
Link to comment
Share on other sites

That would make cutting out an image a LOT easier.
Umm. While I appreciate your support, I have no Idea what my post has to do with cutting or copying irregular shapes... I'm discussing a modification to the line/curve tool, not a change to the selection tools.

He was probably referring to this:

http://paintdotnet.12.forumer.com/viewtopic.php?t=4841

xZYt6wl.png

ambigram signature by Kemaru

[i write plugins and stuff]

If you like a post, upvote it!

Link to comment
Share on other sites

CMD already requested it.
I didn't see a request for this in the 'commonly requested' thread, nor did I find it skimming through the first three pages of posts.

And there is no such user as 'CMD', nor someone on the forum whose login starts with CMD. Perhaps you could clarify, so I could find the post? Maybe a link? If the post is over three months old, it would have been necroposting to dredge it up again anyway.

Link to comment
Share on other sites

My bad, I thought you were a old user here.

Yeah, Crazy Man Dan (CMD) is a moderator here, and he requested it long time ago, so I think Rick (Paint.NET main dev) still get it in mind, and if he doesn't, CMD would remember it in time.

That was what I meant.

No. Way. I've just seen Bob. And... *poof!*—just like that—he disappears into the mist again. ~Helio

Link to comment
Share on other sites

Ahh, sorry... the other posts did not look like a continuation of the rules, so I only read the topic post. Perhaps the post could be made more clear? All the rules put in one post, rather than spread through the entire thread? It's not very friendly to new readers.

I was able to track down Crazy Man Dan's comment about multi-segment lines, but it was rather brief (unless there was a better post he made on the same topic); it didn't describe how it might function, or what problems might be encountered implementing it. I think my post was a useful contribution.

Edit: This is a whole lotta blather about HOW I posted... doesn't anyone have a comment on WHAT I posted? Before the poll was removed, 7 of 9 people thought it was a good idea, and only 1 didn't like the way I described it. Doesn't anyone have an opinion worth posting?

Link to comment
Share on other sites

Sure. It would be a great idea. In fact, why not allow the lines to be modified even after you've saved and reloaded the file? Same with text. (Then we could pretty much get rid of Ink Scape.)

Of course, there's probably a reason why Corel keeps CorelDRAW and Corel PhotoPaint separate.

Click to play:
j.pngs.pngd.pnga.pngp.png
Download: BoltBait's Plugin Pack | CodeLab | and how about a Computer Dominos Game

Link to comment
Share on other sites

Having vectors remain would be nice... but I was trying to find a suggestion that was minimally invasive (easy to implement, acts the same way as the program does now, etc), rather than the best possible implementation. Something that would be easy for the creators to do, but still useful for all of us.

The idea is to have a 'good enough' solution for Paint.NET, rather than a post begging that they make Paint.NET 'more like Corel' or 'more like PSP', with all the hundreds or thousands of changes required to do that. Paint.NET can't be like those big commercial packages, not with only two developers.

Link to comment
Share on other sites

It's very strange seeing your username next to mine. Would the E be for Emrys?

So, for your suggestion. I have a simpler idea than all this vector speak: have the ability to create more nubs (your hold Shift idea) or just have more nubs to begin with. No frills and spills, no semi-vector features, no segments and virtually no complication.

Two scenarios.

1) Imagine a new user to PDN who wants to draw a line or two and they're hit with all these icons (my idea that one) and features to aid in that process: 'whoa!'.

2) However, a new user to PDN wants to draw a line or two and in the bottom left of the Status Bar it says: 'Hold Shift to create more nubs'.

See how that last one was easier for both the new user and implementing a feature veteran users want? The problem with your request is that it's just too complicated for the task needed, and complicated ideas never go down well. If you need re-editable nubs, if you need somehow to save the nubs in the positions you want them or desire the need for segments then go on to Inkscape and create the line you wish, resize and export as a .png. Keep it simple and break the idea down into it's most basic of principles keeping in mind of all aspects and not just the one that makes an individual's life easier. Also, don't forget nothing here I've said hasn't already been suggested elsewhere in relation to the Line / Curve Tool.

EDIT: you're sacrificing possible simplicity and practicality PDN is built upon for feature sets. There is no need for so many options for something which can be done in less than a few clicks and end up with the same result.

That's my two pennies worth.

Link to comment
Share on other sites

It's very strange seeing your username next to mine. Would the E be for Emrys?

So, for your suggestion. I have a simpler idea than all this vector speak: have the ability to create more nubs (your hold Shift idea) or just have more nubs to begin with. No frills and spills, no semi-vector features, no segments and virtually no complication.

Two scenarios.

1) Imagine a new user to PDN who wants to draw a line or two and they're hit with all these icons (my idea that one) and features to aid in that process: 'whoa!'.

2) However, a new user to PDN wants to draw a line or two and in the bottom left of the Status Bar it says: 'Hold Shift to create more nubs'.

See how that last one was easier for both the new user and implementing a feature veteran users want? The problem with your request is that it's just too complicated for the task needed, and complicated ideas never go down well. If you need re-editable nubs, if you need somehow to save the nubs in the positions you want them or desire the need for segments then go on to Inkscape and create the line you wish, resize and export as a .png. Keep it simple and break the idea down into it's most basic of principles keeping in mind of all aspects and not just the one that makes an individual's life easier. Also, don't forget nothing here I've said hasn't already been suggested elsewhere in relation to the Line / Curve Tool.

EDIT: you're sacrificing possible simplicity and practicality PDN is built upon for feature sets. There is no need for so many options for something which can be done in less than a few clicks and end up with the same result.

That's my two pennies worth.

Yes, it is important to maintain some simplicity. I believe a line with six or seven knots would be pretty complicated to handle. I would rather have a feature that made it possible to continue the line you have just made.

That is: Make a line. And then, when you make the next line, by holding down a hotkey, it automatically starts where the last ended. Maybe with some kind of optional lock on the angle it starts in.

Just my two pennies worth.

My DA: http://leif-j.deviantart.com/

--------------

Some people seek justice so persistent, that they will do great injustice themselves.

Link to comment
Share on other sites

Rather than add button clicks and keyboard presses, this should be in the line tool toolbar. Add another -/+ box called "Line Complexity" which allows you to set the number of nubs. Adding more nubs after you begin should either reset the line, or shift the nubs somehow to keep the current shape.

Also, I like the idea of continuing the previous line with the next line.

Link to comment
Share on other sites

davidism, that's a good idea about +/- box much like brush size. Although, I see one problem with that, what if the nubs created aren't in the place you want them? Having the ability to create nubs where you choose prevents your line becoming dodgy if it's been anchored somewhere along said line by a pre-placed nub, if you see what I mean :?. A bit like Inkscape where you have a line and you add a control point, you adjust from one side of the point the other side moves in the opposite direction.

Having said that though, we do have both the +/- option and keyboard shortcut for the size of the Paintbrush/Eraser/etc., perhaps have both...

Link to comment
Share on other sites

My first thought, is adding nubs should be similar to how it's done in Curves.

Simply hold shift, or whatever, and wherever you click, a new nub appears. (if clicked on the line that is). Right click on a nub while holding shift and the nub dissapears.

Very simplistic i nature and intuitive to a feature we already use.

jgswsigxo7.png
Link to comment
Share on other sites

My first thought, is adding nubs should be similar to how it's done in Curves.

Simply hold shift, or whatever, and wherever you click, a new nub appears. (if clicked on the line that is). Right click on a nub while holding shift and the nub dissapears.

Very simplistic i nature and intuitive to a feature we already use.

I like the idea, but it might not bee ideal if you use the Bézier curve.

My DA: http://leif-j.deviantart.com/

--------------

Some people seek justice so persistent, that they will do great injustice themselves.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...