Joshua Lamusga

Members
  • Content count

    241
  • Joined

  • Last visited

  • Days Won

    5

Joshua Lamusga last won the day on August 10 2017

Joshua Lamusga had the most liked content!

Community Reputation

166

1 Follower

Profile Information

  • Gender
    Male
  • Location
    Washington State
  • Interests
    Many and varied.

Recent Profile Visitors

2,218 profile views
  1. Joshua Lamusga

    installation problem

    You can try some solutions listed on Google; maybe the stack overflow suggestions if you're on Windows 10 and you think your .net installation might be corrupt somehow. It's a thought, anyway.
  2. Joshua Lamusga

    mirror image printing

    I don't know about mirror printing preferences and whether they should be / are supported for printing. You can do layers -> Flip Horizontal before printing anyway.
  3. I can't reproduce issue #4 on pdn 4.0.21. Issue #5 is actually a feature request. Textboxes consume keyboard input when they have focus, so you'd have to bubble up to application-level commands if Ctrl is held or something. But as with most requests, since there's only one programmer available to handle them, they have to be useful to a large number of people to go on the features backlist. Actually, I would agree that it would be useful because my workflow involves selecting a color, then clicking the toolbar so I can switch tools.
  4. Your request has been raised once before, for plugins. Both plugins and built-in effects/adjustments should have the same behavior for start-up locations on screen, to avoid confusing users who would e.g. set the opening location in a setting (as I imagine not everyone wants it on the side). How it might work Built-in adjustments and effects could have their default location changed to the side of the screen. This would probably be a preference. Plugins that extend the paint.net dialog could have their default location changed a la changing the pdn dialog class. This is backwards-incompatible behavior. Or, plugins are handed the start location in the EnvironmentSettings, much like the user's brush size and color. The latter is the only sensible solution as I see it, since the others require either a preference that would only be respected by built-in plugins, or changes to existing plugin behavior. So this suggestion is made to Rick and it would be his choice whether or not to implement it. He has a backlog of things he's working on, too, so if he chooses to work on it at some point it probably won't be any time soon.
  5. Joshua Lamusga

    Error diffusion dithering

    If the dithering algorithm locks bits and iterates through pixels with two for loops, replace the inner for loop with Parallel.For (look it up, it's easy to use) and you'll get some parallelization without much effort.
  6. Joshua Lamusga

    Content Aware Fill (2017-04-27)

    Good to know the report was useful
  7. Joshua Lamusga

    Content Aware Fill (2017-04-27)

    Interesting. Did you release v1.1 in response, or did you upload it within the last two hours? I suspect if your answer is no, then I was served an older version.
  8. Joshua Lamusga

    Content Aware Fill (2017-04-27)

    I managed to get an error that crashes PDN. Seems to occur for selections that include pixels along the bottom of the image; I didn't test other sides. It's an index out-of-range error. Details:
  9. Joshua Lamusga

    Shouldn't there be a 8 bit plugin?

    Posterize and Pixelate are built-in effects. Posterize for the low-res colors; pixelate for the blockiness. There are free plugins for creating a limited color palette. Not sure what else you're describing.
  10. Joshua Lamusga

    Custom Keybinds

    His question's answered and everyone has their opinions, for whatever it's worth. It's apparent this request won't occur any time soon, so the utility of this thread has expired and we can go ahead and lock it, I say.
  11. Joshua Lamusga

    Custom Keybinds

    I'm suggesting that it's more likely that this behavior would be implemented internally in paint.net than exposed as an API, since a plugin could only use the API to make a key binding GUI anyway.
  12. Joshua Lamusga

    Custom Keybinds

    A plugin works with paint.net by referencing its assemblies so the plugin has access to the public functions defined in those assemblies. An API is composed of numerous public functions that both your plugin and paint.net are aware of; this is what gives plugins the potential to interface with paint.net. There is only an effects and filetype API at the moment, so it's infeasible to create a plugin that performs keymapping. Keymapping is usually performed once in a top-level class so the resulting key states can be passed around or statically accessed instead of reading the unchanged key states; this would be unrealistic for a plugin to implement. You may then ask why this hasn't been done by the programmers working on paint.net. The answer is that there is only one programmer, Rick Brewster, who won't take volunteers due to licensing restrictions. He's prioritized rewriting and extending the plugin API beneath a number of other things, so while he's probably not against such a suggestion, you won't see any improvement soon.
  13. Glad to help! Also, the official paint.net tutorial is here: https://www.getpaint.net/doc/latest/
  14. I guess you used a pattern fill. Then you have some options: 1. Use the lasso tool to select the region that has the pattern fill. Delete the selected region, fill with a solid color of your choice afterwards. Press S twice to switch to lasso. 2. Use the fill tool in global flood mode twice with low tolerance, assuming the two colors used in the pattern fill aren't present elsewhere in the image. The percentage is called tolerance. It lets the fill tool affect pixels up to x% different than the one you clicked. So 0% tolerance will not paint over any pixels unless they're the exact same color as the one you clicked. 50% tolerance will paint over pixels up to 50% different. It sounds like you thought it was linked to the density of a patterned fill, but that's not the case.