Jump to content

null54

Moderator
  • Posts

    1,964
  • Joined

  • Last visited

  • Days Won

    90

Posts posted by null54

  1. 1 hour ago, ScrapbookWithPDN said:

    Holy Cow! You're a friggin genius! Thank you so much for taking the time to explain this to me. I'll take a screen shot of it.!  I'm grateful for your time.

     

    @Joshua Lamusga is the genius for creating this plugin, I just contribute a few minor changes here and there.

     

    I edited my previous post to clarify that Brush Factory does not currently support the color palette functionality.

    • Like 1
  2. 15 hours ago, ScrapbookWithPDN said:

    Well, if a layer could be used or created ON TOP OF the layer that is showing (as a guide), that would make the plugin more useful for layering purposes.

     

    Plugins cannot create layers, but the following steps can be used as a workaround.

    1. Create a new empty layer for the Brush Factory to draw on
    2. Copy the layer you want to use as a guide to the clipboard
    3. Right click on the Brush Factory canvas and select the "Use clipboard as background" option

    Please note that any transparent areas in the image will be displayed as white, because the clipboard image the plugin currently uses does not support transparency.

     

    15 hours ago, ScrapbookWithPDN said:

    Also, if we can KEEP the colors we selected to use, unless we close Brush Factory, but still keep the same colors even when we change brushes, so we don't have to keep entering or finding a color we just used with a prior brush, or be able to load a color palette, that would help a great deal

     

    Brush Factory does not currently support this.

     

    But as the Windows color dialog supports a 16 color custom palette, one solution may be for Brush Factory to store that custom palette during the Paint.NET session.

     

    As Paint.NET allows Effect plugins to read the user's current color palette, it could even set the default palette to the first 16 opaque colors in Paint.NET's palette.

    Although I am not sure if that behavior would confuse users due to it skipping transparent colors.

    • Like 1
  3. There are some cases where it would be useful to allow FileType plugins to disable or change parts of their UI based on the properties the current Document (such as Size,  layer count, Metadata etc).

    For example, if I added cube map support to to DDS FileType Plus the accompanying checkbox would only apply to images with 6 layers.

     

    While I can set the checkbox description to state that requirement and ignore it if the images do not meet it, I think it would be more user friendly (and easier lo localize) if there was a way to uncheck and disable the checkbox when the image does not have 6 layers.

     

    Example:

    Spoiler
    
    protected override void OnUpdateSaveConfigUIForDocument(ControlInfo configUI, Document document)
    {
        if (document.Layers.Count != 6)
        {
            BooleanProperty prop = configUI.FindControlForPropertyName(PropertyNames.CubeMaps).Property as BooleanProperty;
    
            prop.Value = false;
            prop.ReadOnly = true;
        }
    }
  4. 1 hour ago, Joshua Lamusga said:

    1. In subsequent runs, if I have moved or deleted a folder from the custom brush locations that had successfully loaded on the first run, it will crash with DirectoryNotFoundException. 

     
    55 minutes ago, Joshua Lamusga said:

    2. It seems that it no longer loads .abr files. 

     

    I am not able to reproduce that.

  5. 2 hours ago, Someguysnickname said:

    The paint.net devs stated the intent to integrate this over a year ago, but it has yet to happen. I don't suppose you've heard anything about that in the meantime?

     

    I do not have any information about when this plugin will be integrated into Paint.NET.

     

    3 hours ago, Someguysnickname said:

    Btw, your readme does not mention the need to rename .dds to .dds2.

     

    I added the line from the first post in this thread to the readme, and updated the project readme on GitHub.

    • Like 1
  6. 16 hours ago, Joshua Lamusga said:

    1. When settings were moved, my .xml file ended with "settings>ings>" which caused it to crash, We should try...catch and regenerate the file if it fails to de/serialize.

     

    Fixed: Use FileMode.Create when writing the settings

     

    16 hours ago, Joshua Lamusga said:

    2. Default brushes only load on subsequent runs.

    3. On subsequent runs, custom brushes are appended to the first run's brushes, so it's custom brushesdefaultcustom brushes. No change observed with further runs.

    4. The brush I had selected in a previous run is selected, but as brushes load in, the selected brush changes to the last one.

     

    Another pull request: Fix the default brush loading

     

    16 hours ago, Joshua Lamusga said:

    - Your changes to the inherited RenderArgs code and undo/redo fixed the long-standing transparency bug for the most part; drawing is still a problem. If you can find the fix for that, I'll be pretty happy. 

     

    After reading the linked thread I am wondering if GDI+ may be converting the 32bppARGB images to 32bppPARGB as part of its internal processing.

    This would make sense if it is calling any GDI functions because 32bppPARGB is the only 32-bit alpha channel format that GDI supports.

     

    It also appears to be fairly well documented that GDI+ performs best when it is using 32bppPARGB, a few links below as examples.

    This could indicate some kind of format conversion is being skipped.

     

    https://richorama.github.io/2016/08/10/image-interpolation-benchmarks/

    https://www.gamedev.net/forums/topic/467752-maximizing-gdi-speed/

    https://microsoft.public.dotnet.framework.drawing.narkive.com/Pb9bQRzv/great-speed-improvement-trick-format32bpppargb

  7. 1 hour ago, Dallas said:

    That did work, but unfortunately, the plugin pack I installed seems to have just been a .zip pack with heaps of different plugins in, instead of being one pack of plugins, so all of the plugins are just their own respective names from their original uploader. Thanks, though.

     

    It sounds like you may have installed the Megalo pack, which illegally bundles and redistributes plugins from this forum and is known to cause all sorts of problems.

    If so you should delete the contents of your Effects and FileTypes folders and run a virus scan.

    See the following thread for more information:

     

    • Upvote 1
  8. 3 hours ago, Joshua Lamusga said:

    XML is fine.

     

    Here is the pull request: Save the settings to a file instead of the registry

     

    I would have also submitted the ListView code, but it has conflicting changes.

     

    37 minutes ago, welshblue said:

    Not sure if this is a glitch guys or a dodgy mouse my side but:

    Other >>> Select Rotate with mouse option >>> Drag and draw is fine.  Just a left click and it's sporadic when it chooses to draw. 25 clicks is the most I've done before it drew/rendered

     

    I have not modified any of the drawing code, so I have no idea what could be causing that. ?

  9. 3 hours ago, Joshua Lamusga said:

    I want to support portable mode, so it's a good idea to store in an .ini file or something.

     

    My plan is to convert the registry settings to an XML file stored in the Paint.NET user files folder.

    This would allow the settings to be represented by a strongly-typed class, while letting the .NET Framework handle the conversion to/from XML.

     

     

  10. @Joshua Lamusga

     

    Another pull request and a few questions.

     

    Override the On* methods instead of using event handlers

     

    I was thinking of moving the settings into a separate class to allow for storing more general settings, such as the last folder in the add brush dialog.

    Should the plugin store settings in the Paint.NET user files folder instead of the registry when Paint.NET is in portable mode?

     

    I have also been considering changing the "Add Folder" button in the preferences dialog to use the Vista-style folder browser, basically an Explorer open file dialog that can select folders.

    This would require adding a large amount of COM interop code, and even though this dialog is more user friendly I am not sure that users would browse for a folder often enough to make it worth the amount of code needed to implement it.

×
×
  • Create New...