Jump to content

Tim!

Members
  • Posts

    37
  • Joined

  • Last visited

Everything posted by Tim!

  1. viewtopic.php?f=12&t=3455 Ability to organize/manage effects -- This one's interesting. Now that there are so many plugins available, people now need the ability to organize them, like into sub-menus or something. Will probably make it into a 3.x0 release (3.20? 3.50?) I was talking about individual plugin writers adding, for example, a drop-down list box containing the standard submenus to their plugin config dialog. The text of selected item can then be saved in Properties.Settings.Default and retrieved by StaticSubMenuName getter. Rick wouldn't have to change any Paint.NET code.
  2. It's programmatically possible to allow users to change the submenu that an effect is listed under. For example, if someone writes one thousand and one effects, they could be listed under that person's submenu, then post-installation the user could be allowed to move frequently used effects to the "Render" submenu or "Frequently Used Effects" submenu, etc. Is this a good idea?
  3. I've found the read-only EnvironmentParameters to be quite useful, but it could be more useful. While I've been writing my first plugin I've looked at other programmers plugins and I've noticed that it's common to have a parallel set of drawing settings (e.g. antialias, brush type, etc). Would it be possible to make more enviroment settings available to plugins and make them both writeable and readable. Any thoughts?
  4. I've updated it again in response to your feedback. It's now looking more professional and more like the finished article so thanks for your ideas.
  5. I've noticed I can't code-sign my plugin because Paint.NET doesn't have a strong name. Error 1 Assembly generation failed -- Referenced assembly 'PaintDotNet.Core' does not have a strong name Error 2 Assembly generation failed -- Referenced assembly 'PaintDotNet.Effects' does not have a strong name What's the reason for not giving it a strong name?
  6. Thanks for all your feedback. I've updated my plugin accordingly (see my original post). I'm now about ready to publish it. Enjoy...
  7. One rem is faster than doing blt, div, call, mul and sub. Considering that this is for imaging processing where the code is executed zillions of times, it all adds up. Just my tuppence-worth.
  8. Here's one tweek to save some time. Consider what would happen if the angle were -1000 using the original code: public void EvanHSVtoRGB(double H, double S, double V, ref byte bR, ref byte bG, ref byte bB) { ... //if (H >= 360.0) //{ H = AngleConstrain(H); //} ... } public double AngleConstrain(double MyAngle) { // Makes sure that 0.0 <= MyAngle < 360.0 // Wraps around the value if its outside this range MyAngle %= 360.0; if (MyAngle < 0.0) { MyAngle += 360.0; } return MyAngle; }
  9. Hi All, I'v updated my plugin. It now has options for an outline border and antialiasing. I've also improved the rendering speed. I'm now thinking about publishing it so your comments would be welcome. Thanks. EDIT: Removed plugin zip file. I've put the latest version in my original post.
  10. You've said that before downloading it and trying it out, so an "impression" it certainly is... :wink: Any chance you could address my question?
  11. Hi, I've just written my first Pdn plugin. It uses the Primary and Secondary colours to draw a rectangle with round corners into the current selection. You can have multiple selections (Ctrl key). If there's no selection, it uses the entire canvas. The selection can be any shape (rectangular, lasso, ellipse). I've obtained the selection and the colours from EnviromentParameters. I'm thinking about adding a border outline using EnviromentParameters.BrushWidth. How do you obtain the "Draw Shape Outline", "Draw Filled Shape" and "Draw Filled Shape With Outline" parameters, and the other parameters for Fill, Antialiasing and Blend mode? EDIT 1: Removed development plugin zip file. I've now published it here. Thanks for all your comments. EDIT 2: Version 1.2.0.0 Added a supplementary brush width to the config dialog. NOTE: It defaults to the brush width set in the Paint.NET toolbar every time the dialog opens. Added a fill overlap slider. It controls by how much the fill colour overlaps the outline colour. It's useful for removing gaps that sometimes appear due to antialiasing. The overlap ranges from zero to half the brush width. Added a Reset Radii button. Added a Show Original checkbox. Improved slider performance. Improved radii UI logic. EDIT 3: Removed beta effect zip file because I've published it here (and here). EDIT 4: Updated hyperlinks for new forum. Example
  12. Hi All, I've just written my first Paint.NET plugin. Many thanks to sepcot and boltbait for the template and instructions. With the latest version of PDN, some PaintDotNet.Effects.Effect constructors are now obsolete. I used this instead: public EffectPlugin() //: base(EffectPlugin.StaticName, EffectPlugin.StaticIcon, EffectPlugin.StaticSubMenuName, true) // Obsolete //: base(EffectPlugin.StaticName, EffectPlugin.StaticIcon, EffectPlugin.StaticSubMenuName, EffectFlags.Configurable | EffectFlags.SingleThreaded) : base(EffectPlugin.StaticName, EffectPlugin.StaticIcon, EffectPlugin.StaticSubMenuName, EffectFlags.Configurable) { } Is there an instruction manual on what all the numerous classes and methods are for in the Pdn DLLs? Where's the best place to post my test plugin for some advice and feedback?
×
×
  • Create New...