Jump to content

DataJuggler

Members
  • Posts

    33
  • Joined

  • Last visited

Recent Profile Visitors

672 profile views

DataJuggler's Achievements

Contributor

Contributor (5/14)

  • First Post
  • Collaborator
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

0

Reputation

  1. I am not sure where else to ask this, and I am no longer on Twitter. My question is related to the font combo box in Paint .NET. Did you create a custom control that displays a sample of each font, or is that some 3rd party library? If yes, can you tell me the name of the library. If it is a custom control, would you consider letting me use it or license it for an open source project? Thanks, if there is a better place to ask a question like this, please tell me where. I will probably have the control built before I get an answer, but already built is easier. Thanks, Corby / Data Juggler
  2. If there is a way to do this, please tell me how. My workflow today is using the same background, and changing the titles for chapter transitions. Each time I have to export, change data type from .pdn to .png, then accept flattening prompt. Then undo flattening. A one step export and leave the layers would be helpful. Thanks
  3. I got my project into Visual Studio, which I now feel at home. I am a little confused about the Rectangles of Interest that Paint.NET uses. My Nuget package DataJuggler.PixelDatabase expects me to load the entire image: PixelDatabase pixelDatabase = PixelDatabaseLoader.LoadPixelDatabase(... You can pass in a path or a bitmap: // Load PixelDatabase by path PixelDatabase pixelDatabase = PixelDatabaseLoader.LoadPixelDatabase(path, StatusUpdate); // Load by Bitmap PixelDatabase pixelDatabase = PixelDatabaseLoader.LoadPixelDatabase(sourceImage, StatusUpdate); // status update is just a method to get pixels updated in long operations I realize Paint.NET uses layers, and I read the plug-in can only effect the active layer, so is there a way to get the full active layer as a bitmap (or Image)? Once a PixelDatabase is loaded, I call ApplyQuery and my package handles updating the entire image. Is there a way to execute code before the image is separated into rectangles of interest? If yes, I can call my ApplyQuery method before rectangles are split, and then in your Render methods I only have to copy pixels to the destination surface. For example, my Create Gradient feature needs to know the size of the entire image. I am not sure how to do that from rectangles of interest. My project and site are free, and I plan on making the plug-in free also, but I can pay you a little for your time if you could guide me how to get started. I think people would find my plug-in useful, as it extends Paint.NET for some pretty useful features. Here is a recent feature added, grayscale: Update the red car to gray, and leave (most) of the rest of the image alone: Bitmap Query Language BQL - If you know SQL you are 90% there. Biggest difference is each criteria is on its own line to make parsing simple. Update Set Grayscale Red Where RedMaxDiff > 0 Y > 761 More features are shown here If you have time to watch a 5-minute video: (the first two minutes has a comic book story and animated intro, you can skip it): World's Greatest Grayscale: Thanks for your time, I have wanted to do this since last year but Paint.NET was still on .NET Framework and my package on .NET5. Now that both are on .NET6 I don't have any excuse not to get this done. Corby / Data Juggler
  4. I feel the same way. I wish someone would help me port DataJuggler.PixelDatabase to a Paint.Net plug-in. All I need is a text box and a button. Any volunteers? Everything you can do here and more https://pixeldatabase.net Nuget: DataJuggler.PixelDatabase for (latest release is for .NET6) Here is a gray scale example that I think is cool: Turn the red car to white (files attached) Update Set Grayscale Red Where RedMaxDiff > 0 Y > 761 Would this make a good plugin?
  5. Today I updated my Nuget package so I could check if a pixel should be updated or not using my Nuget package, but I don't know how to deploy. How do I package this up to install? If there is any benefit, I do have Advanced Installer if that simplifies things. If there is a doc for this I didn't get that far. I saw how to do this in using Code Lab, but I don't know what to do to package up the Visual Studio output, which includes my plug in class and my Nuget package and a some dependencies. Thanks,
  6. No she called me clearly spam, when I am trying to build a plug-in to give away, I was just showing a preview here. Spam is when you try and sell something. Free information that might help someone is called freedom of speech. If not free speech zone here, I speak where it is. And if she wasn't talking to me, it reminds me of this time I walked out of this store and these two women were walking in. One of them looked right at me and said 'I like those pants.' I said thank you, what would you say? And they both started laughing? The world is not always about me.
  7. Did you copy the image and paste it into Paint.Net? What do you mean Transparent White, those are two different things. Here is a video showing it is transparent, not white.
  8. Advertising spam? I write code and give away code 100% free, 100% of the time. I am sorry you consider free code, spam. Here is my Git Hub page if you want to look at 36 projects: https://github.com/DataJuggler And here is a video I just made showing copying the image from this forum and pasting into Paint.Net. Have a good day.
  9. That project is something I rarely ever work on. I wrote in around 2009 when I first learned WPF, then I quickly learned I hate WPF. I don't care if you don't like the buttons the project, it is just a project I use because: 1. It has a Document Formatter, that formats a C# code into regions for Private Variables, Methods, Events, Constructors and Properties. 2. It has code generation features for Add Methods and Events 3. An auto commenting system. You can have Visual Studio type comments for certain C# lines, so it saves having to write: Put your mouse over this line and hit Ctrl + Shift user = new User(); Comment gets written: // Create a new instance of a User object user = new User(); But that's not why I am here, I was just showing you a dockable window idea I wish Paint.Net has and you made fun of my buttons, which is actually the nicest thing anyone has said to me today.
  10. Not Code Lab, the fact you can only run one plug - in at a time is a Paint.Net limitation, that has nothing to do with Code Lab. Code Lab has a code editor, so I am not knocking it. I prefer VS, but I understand what it takes to build something like that stand alone, much less as a plug-in, so I am sure it is the Michael Angelo of plug-ins. Visual Studio is the king of extensibility, my package Regionizer that everyone hates but me, I dock in the same window as Solution Explorer and its always available to modify the current code window: If I could write something like this that docks in Paint.Net, that would be better than a Plug-in model. Is there a wish list for feature requests anywhere? Thanks
  11. Thank you for the information. Plug-ins are fine for simple enhancements, but to be truly extensible they should expose an API. Oh well, that is why I wrote my own site, but I didn't see any reason to reinvent the wheel for things Paint.Net already does.
  12. This is why as soon as I go back to work I may donate and request the old docs be updated. Even thought its a pain, otherwise new people learn it wrong, and if they don't come find someone to inform them, it stays wrong. Thank you,
  13. I was told I can create a custom user control, which is what I am doing as I write this. Why couldn't a custom user control display folders and layers? As a user control developer I don't see any reason why not. Is not possible to operate a plug-in and operate Paint.Net's at the same time?, or multiple plug-ins at once? Thanks, very new to Paint.Net extensibility, but been doing Visual Studio extensibility for a long time.
  14. The compile message made it easy enough to figure this out, but just to make it easier on the next person: Tutorial Part I - Simple has this example after you remove the default script code and modify it. Line 4: Rectangle selection = EnvironmentParameters.GetSelection(src.Bounds).GetBoundsInt(); When you build you get a warning this is obsolete and no longer needed, use GetSelectionAsPdnRegion So it should be changed to this I think: Rectangle selection = EnvironmentParameters.GetSelectionAsPdnRegion().GetBoundsInt(); In case the next person reading is new to C# / programming it might confuse them.
×
×
  • Create New...