Jump to content
How to Install Plugins ×

Parallel Lines and Patterns


midora

Recommended Posts

Thanks Martin (or Midora?). I like your plugin and I apreciate your work.

One suggestion: how about a color wheel in your plugin?

And one question: how to get diagonal lines?

 

I don't want to be misunderstood, but I want to remove some plugins from my Effect folder.

It is desirable for the specific plug-ins to do many things and your plugin do.

 

zGK7XtL.png

  • Upvote 1
Link to comment
Share on other sites

Why can't I alter the Tilt value (under the lines tab ? ) or alter the length value (under the reference tab ? )

 

Not all shapes do allow to alter the tilt value. Basicly all which show a tilted vertical bar in the icon of the shape. I.e. The Slashed Line shape.

BTW: The icon of the Divided Line shape is wrong. It must be just a vertical bar.

 

The length value of the reference vector is not used in the moment by the plugin. That's why it is disabled.

In the moment the plugin just works in fill mode. In the future it may be possible just to draw lines from the reference point with the reference length and the parallels.

 

 

One suggestion: how about a color wheel in your plugin?

And one question: how to get diagonal lines?

 

Have a look to the tabs at the top of the dialog.

In the reference section you may rotate the lines.

In the color tab you may select different colors for the lines and the background.

 

 

I don't want to be misunderstood, but I want to remove some plugins from my Effect folder.

It is desirable for the specific plug-ins to do many things and your plugin do.

 

I'm not quite sure about the question. There are always pros and cons for a specific plugin.

Sometimes you prefer to use plugins with a minimum amount of controls but sometimes you want to control everything.

The Paint.NET philosophy is too provide less but easy to understand features.

But plugins may provide you much more features.

The important thing is that the user interface has the right structure.

I.e: I really like the power of the 'Curly lines' plugin but I can not use it because it takes me too much time to remember the individual options.

That's the reason why ParallelLines uses the OptionBasedLibrary to visualize the UI. It allows you to provide the user a more detailed and structured UI but still follows the look and feel of Paint.NET. 

midoras signature.gif

Link to comment
Share on other sites

Ok, here is a fishy! :D

I did the scales, top and bottom fin lines, and the background waves with this plugin. This plugin is really fun. :)

(the tail fin and heart fin lines were done with curly lines plugin since that plugin let me render lines in a "fan" shape.)

 

FishyPatterns_zps0e202052.jpg

Edited by Cc4FuzzyHuggles
  • Upvote 1
Link to comment
Share on other sites

Excellent!!!! I was looking for plugins like this one. I think it's very useful. Nice interface too. I like the way you show the positioning  with the red "resolution size" box.

 

Topiary.png?raw=1

 

Height Map  https://www.dropbox.com/s/f0lku0uqifx3p8d/TopiaryMap.png?raw=1

 

 

 

 

Thanks Martin (or Midora?). I like your plugin and I apreciate your work.

Ssssshhhhhh! don't reveal his secret identity. I think you just got un-invited to Bruce Wayne's next party.

  • Upvote 2

Go out there and be amazing. Have Fun, TR
TRsSig.png?raw=1
Some Pretty Pictures Some Cool Plugins

Link to comment
Share on other sites

Oh Cc4FuzzyHuggles figured out already how to create fish-scales or roofing shingles and TechnoRobbo shows us how to increase the entropie of a simple regular pattern, great.

 

(Hey, this would qualify for the 'Iterative lines' Submenu!) ;) :D

 

I thought about this. For a quarter of a second ;-) But there are all the users using an other language setting.

BTW: If you prefer a different submenu then you can change it in the .dlc file. You may even translate it there.

Look for the key ParallelLinesEffect.SubmenuName=

 

 

Nice interface too.

 

Typical case of a plugin where the coding takes 10% and designing of the UI 90% of the time.

midoras signature.gif

Link to comment
Share on other sites

Update 1.2 (17.12.2014)
- Added option to limit the length of the parallel lines to reference section.
- Added start end end caps for limited continous lines (without gaps).

post-84641-0-22159300-1418851057_thumb.j
- Added 'Spiral' line type

post-84641-0-10650000-1418850670_thumb.j
- Added keywords to the code used by plugin browser
 

 

  • Upvote 1

midoras signature.gif

Link to comment
Share on other sites

Christmas Update:  Many thanks to a great community and peaceful days for all of us.

 

1.3 (19.12.2014)
- Diamond, Ellipse and Rectangle Shape cover now the whole period if 'Center at' is set to 50% (the default value)
  This makes it easier to create overlapping shapes without loosing any of the old functionality.
- Changed the start point of the Spiral Wave so that it looks more symmetric in limited length mode.
- Added 'Fill Color of Lines'. Because waves do not have closed shapes they will look half-filled.
  'Stroke color of Lines' allows to set the value 'None'.
- Added 'Fir Tree' shape (inspired by Seerose ;-)
 

post-84641-0-35228200-1419010232_thumb.p

 

An easy way to check this out is to copy the following options xml text to the clipboard and paste it to the dialog via the menu popup button at the bottom of the dialog 'Menu->Manage Options->Paste'.

Hidden Content:
<?xml version="1.0" encoding="utf-8"?>
<OptionBasedEffectConfigToken xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Effect>
    <name>ParallelLinesEffect</name>
    <version>1.0</version>
  </Effect>
  <Items>
    <Item>
      <Key>
        <string>ReferenceLengthType</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:int">0</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>ReferenceLength</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:double">200</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>LineWidth</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:double">1</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>LineJoin</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:int">3</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>LineCaps.First</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:int">0</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>LineCaps.Second</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:int">0</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>LineShape</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:int">17</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>LineAmplitude</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:double">60</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>LinePeriod</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:double">80</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>LineSplit</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:double">50</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>LineTilt</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:double">30</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>ParallelsCountType</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:int">0</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>ParallelsCount</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:int">5</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>ParallelsDistanceType</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:int">0</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>ParallelsDistance</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:double">80</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>ParallelsDrift</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:double">50</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>ReferencePoint.X</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:double">0</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>ReferencePoint.Y</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:double">0</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>ReferenceAngle</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:double">0</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>ReferenceShow</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:boolean">true</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>ReferenceResolution</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:double">96</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>ColorStrokeLinesSource</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:int">1</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>ColorStrokeLinesCustom.Color</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:int">-16777216</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>ColorStrokeLinesCustom.ColorSelect</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:int">4</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>ColorFillLinesSource</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:int">2</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>ColorFillLinesCustom.Color</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:int">-16711894</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>ColorFillLinesCustom.ColorSelect</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:int">4</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>ColorBackgroundSource</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:int">0</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>ColorBackgroundCustom.Color</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:int">-1</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>ColorBackgroundCustom.ColorSelect</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:int">4</anyType>
      </Value>
    </Item>
    <Item>
      <Key>
        <string>Pages.PageIndex</string>
      </Key>
      <Value>
        <anyType xsi:type="xsd:int">0</anyType>
      </Value>
    </Item>
  </Items>
</OptionBasedEffectConfigToken>

 

Or save the text to a file and load it via 'Menu->Manage Options->Load...'  Here is an other example file: OverlappingCircles.xml

 

  • Upvote 1

midoras signature.gif

Link to comment
Share on other sites

Thank you. Nice overlapping functionalities. In addition to the lines tab, is there a possibility to add another one that would allow the insertion of PNG files?

 

There is little adjustment to be donne in the UI:

interface-01-491a68e.png

Edited by Eli
  • Upvote 1
Link to comment
Share on other sites

 

Thank you. Nice overlapping functionalities. In addition to the lines tab, is there a possibility to add another one that would allow the insertion of PNG files?

 

Hi Eli, from my point of view this would be a feature for a plugin which uses bitmaps already to fill the selection. PLAP is vector oriented. So there is a little dwarf sitting in your computer using a pen and a brush to draw and fill the vector paths ;-)  Maybe in the future you may be able to define your own vector shapes like the fir tree.

 

 

There is little adjustment to be donne in the UI:

 

Yeah I know there is still a small problem if you are using Tabs in OptionBasedLibrary. The Layout engine of .NET behaves a little bit strange using tabs. It happens if you are closing the dialog with OK on a tab which is not completely filled with controls. So in the moment just say OK on the first tab page to avoid it.

midoras signature.gif

Link to comment
Share on other sites


Or save the text to a file and load it via 'Menu->Manage Options->Load...'  Here is an other example file: attachicon.gifOverlappingCircles.xml

@ Sorry I did not understand. Where Add effect or paint.net folder?
Edited by Seerose

Live as if you were to die tomorrow. Learn as if you were to live forever.

Gandhi

 

mae3426x.png

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.

×
×
  • Create New...