Jump to content

BoltBait

Administrator
  • Posts

    15,653
  • Joined

  • Last visited

  • Days Won

    390

Everything posted by BoltBait

  1. Yeah, CodeLab is the best plugin ever. Now, I can't speak for those who write canvas plugins, but I find that actually coding a plugin is the easy part. Coming up with the idea is the hard part. In this case, I wrote it to save myself a ton of time. Any time you find yourself doing the same steps multiple times, make a note of it. If you don't have the ability to code a plugin yourself, I'm sure someone would be able to automate those steps for you.* And, thanks for the vote. *Keeping in mind the limitations of the plugin system.
  2. So, I was scanning a ton of photographs today and kept having to do the same steps to remove dust from the images. I automated it into a plugin. Enjoy. // Name: Remove Dust // Submenu: Photo // Title: BoltBait's Remove Dust v4.0 // Author: BoltBait // URL: http://BoltBait.com/pdn // Desc: Remove dust from scanned photographs // KeyWords: dust|stamp|scan|clone #region UICode byte Amount1 = 0; // [1] Dust Color|White|Black #endregion // Setup for using Lighten blend op private BinaryPixelOp lightenOp = LayerBlendModeUtil.CreateCompositionOp(LayerBlendMode.Lighten); // Setup for using Darken blend op private BinaryPixelOp darkenOp = LayerBlendModeUtil.CreateCompositionOp(LayerBlendMode.Darken); // Here is the main render loop function unsafe void Render(Surface dst, Surface src, Rectangle rect) { for (int y = rect.Top; y < rect.Bottom; y++) { if (IsCancelRequested) return; ColorBgra* prevPtr = src.GetPointAddressUnchecked(rect.Left, y); ColorBgra* srcPtr = src.GetPointAddressUnchecked(rect.Left, y); ColorBgra* dstPtr = dst.GetPointAddressUnchecked(rect.Left, y); for (int x = rect.Left; x < rect.Right; x++) { ColorBgra CurrentPixel; if (Amount1 == 0) { // Remove white dust CurrentPixel = darkenOp.Apply(*prevPtr, *srcPtr); } else { // Remove black dust CurrentPixel = lightenOp.Apply(*prevPtr, *srcPtr); } *dstPtr = CurrentPixel; prevPtr = srcPtr; srcPtr++; dstPtr++; } } } There is no UI. Just run it and the white dust specks are gone. There is now a simple UI. Select White or Black and those color specks are gone! It's not perfect. It only works on very small specks. Basically what it does is Clone Stamp them out. Install the dll in the normal way. Then, restart Paint.NET and look in Effects > Photo > Remove Dust for the effect. Download Here For Paint.NET 3.5.11: RemoveDust.zip For Paint.NET 4.0+: https://forums.getpaint.net/topic/113220-b I'm thinking "Plugin of the Year". Yes?
  3. You've only made 4 posts. Just create a new account and never login to the old account. As long as you don't cause trouble, you're golden.
  4. If you have my plugin pack installed, you can do it in a single step. Using the magic wand, shift-click the black area and run the Effects > Selection > Outline Selection...
  5. Why? Do you believe that the built-in support for DDS and TGA is insufficient in some way?
  6. Look up QR Codes on Wikipedia and all will be answered.
  7. Here is a tutorial on how to install Paint.NET plugins: http://www.boltbait.com/pdn/InstallingEffects.php
  8. User null54 coded one up for you. Download the plugin in this thread: Enjoy. Now, I ask you... is this the best, most helpful community or what?!
  9. Perhaps you could attack the problem from the scanner side. My scanner has a "scan to pc" button that the scan driver allowed me to program so that when pressed it scans the page and sends it to Paint.NET. Perhaps yours has something similar?
  10. If you want to do the rainbow coloration, you can do it this way: Convert your image to black-and-white by using Adjustments > Black and White. Add a new layer by using Layers > Add new layer. Place your color on that layer. If you want a rainbow, try this plugin: Gradients Galore Open the rainbow's layer properties using Layers > Layer properties. Change the blending mode to multiply and click OK. You may need to go back to your image layer and adjust the brightness and contrast. Hope this helps.
  11. Rick is putting NO effort into the 3.x line. That is true. However, he is running "full steam ahead" on 4.0. Although it is still not ready for a public beta test, I can tell you that it is coming along nicely. I wouldn't want to guess as to a release date (for even the beta). Sorry about that. And, I doubt that Rick would place deadline pressure on himself by guessing a release date either. You'll just have to be patient and know that progress IS being made.
  12. I can't comment on a specific piece of your work as I am unfamiliar with it. But, generally, this would indicate that your piece lacks focus. Perhaps there is too much going on in the piece and someone doesn't know where the central focus of the piece is. Or, perhaps the piece is overly complicated. Maybe you should review the "rule of thirds" and make sure that your next piece conforms to that paradigm. For example, some might consider that your sig would be improved if it was NOT animated.
  13. I have an idea. This doesn't sound like a Paint.NET problem to me. Why don't you look up a message board for Xsplit, Adobe media encoder, etc. and ask there for support. I'm closing this as it is not Paint.NET related.
  14. Those are vector formats. Maybe Inkscape would do it? Sorry, I'm not an expert in Inkscape.
  15. I'm not sure. Nothing I've run across would do this.
  16. When I had this problem with a plugin, I gave it to Ed Harvey...
  17. Deep question. Perhaps you should read the book Zen and the Art of Motorcycle Maintenance.
  18. Since none of the usual suspects has taken up the challenge of writing this plugin... and you want it so badly... perhaps you should attempt it.
  19. I tried that site and it replaced my URL with a delivr URL that redirected to my site. Maybe you want that for tracking purposes, but just be aware that it is happening. Other than that, the site has some good options.
  20. On the resize screen, select the "Nearest Neighbor" method. That's going to be your best bet. BTW, 60x60 is really small for that style of QR code. Perhaps you'd do better with a smaller code in the first place. Maybe something like this: This is a medium sized code. There are even smaller ones. You are trying to put a HUGE code into too small of a space. I'd suggest simplifying your code down to a medium or small code then try to scale it down in size.
  21. Here are a couple of pictures where I used Polar Inversion: Good: Notice how I used it on the images, then cut out only one of the areas of the photo for the final image. You probably wouldn't have guessed it was PI unless I told you, right? Bad: Some people think adding PI to any picture suddenly makes them a rad artist.* Hope this helps! (*same thing applies to Tile Reflection)
×
×
  • Create New...