Eli Posted July 25, 2018 Posted July 25, 2018 Hello community programmers , Many times I have an image that I want to multipy on a straight line. Usually I do it by pasting the image multiple times over an imaginary line but it is not perfect. Sometimes I use one of the tiling effects such as Repeat Paste from Clipboard or Fill from Clipboard and then I remove the images I do not need but the angles are very limited. If someone can make this effect it would be very nice. I think this effect would enrich the plugins list. These are some of the Features it should have: - A Size or Zoom feature to adjuste the size of the image - A variable angle of the line formed by the images - A spacing feature to adjust the spread of the images. - A feature to rotate the images Thank You. 2 Quote
Ego Eram Reputo Posted July 25, 2018 Posted July 25, 2018 How about this?? It looks like it will do the path and spacing ?. Not the rotation or zoom ? Quote ebook: Mastering Paint.NET | resources: Plugin Index | Stereogram Tut | proud supporter of Codelab plugins: EER's Plugin Pack | Planetoid | StickMan | WhichSymbol+ | Dr Scott's Markup Renderer | CSV Filetype | dwarf horde plugins: Plugin Browser | ShapeMaker
Eli Posted July 25, 2018 Author Posted July 25, 2018 @Ego Eram Reputo Yes, I had looked at TR's KeyFrame but it does not do everything I want. Midora's Parallel Lines and Patterns does have some nice features but It can not import an image Quote
MJW Posted July 26, 2018 Posted July 26, 2018 There is, I think, a non-trivial aspect to this. If the images are spaced closely enough, they could overlap. Perhaps spacing that close could be disallowed, but the are cases where the same image wouldn't overlap if rotated to other angles. Disallowing that spacing might be undesirable. Of course it could be handled, but it's more complicated that a normal tiling algorithm. Quote
Eli Posted July 26, 2018 Author Posted July 26, 2018 @MJW Overlapping may not be desired in some cases but in other cases it can create interesting results/patterns. I hope an algorithm can be figured out. Quote
Roly Poly Goblinoli Posted July 26, 2018 Posted July 26, 2018 13 hours ago, MJW said: There is, I think, a non-trivial aspect to this. Nah, because it's out of scope for a tiling algorithm to fix this: Notice the spacing after rotation between the images. I've shown how an algorithm might attempt to solve this, but the problem is that there are two angles: the image rotation angle, and the angle of the line. The smart algorithm on the bottom right would only work if image rotation matches angle of the line. "After rotation, 0 degrees" is what it would look like if the line was flat, showcasing why it's an undesirable algorithm. So just leave it to the user. Two options after drawing a line: - User wants X images on the line, spaced evenly - User wants to fit images on the line, which is this algorithm It doesn't matter if it overlaps; leave that up to the user to decide on aesthetics. Just give them options to make it possible. Default to a clean fit. Track previous image location and bounding box. In a for loop, apply scaling and rotation, storing new dimensions for each transformation. If the user ticks a checkbox to compute before rotation rather than after, use the scaled bounding box dimensions instead of scaled+rotated bounding box dimensions when computing offset to draw the new image. Include an arbitrary offset or percentage offset. Then update previous location and bounding box and go to next image. Modifications to that algorithm for location stutter, rotation/scaling jitter or progression are simple enough. 1 Quote
Eli Posted July 27, 2018 Author Posted July 27, 2018 (edited) Looking between the plugins for Paint.net I noticed that TR left some code for one of his effects: TR's Paste Frame. It has nice features but it can not rotate the image. Though I do not understant anything, it could help somene creating an effect. Edited July 27, 2018 by Eli Quote
MJW Posted July 28, 2018 Posted July 28, 2018 I hate to volunteer to do something, then not do it, but I'll try to write this plugin. I've probably got most of the stuff needed in other plugins. (Please no reps before I actually release the thing! It will only make me feel more guilty if I don't get it done.) Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.