Popular Content

Showing content with the highest reputation on 12/27/2018 in all areas

  1. 6 points
    (This is cross-posted from the Paint.NET blog ... I may get more discussion out of this over here on the forum though ) It's been a little over 9 months since I left Facebook, and since then I've been hard at work on Paint.NET. (There were two primary reasons for me leaving Facebook: 1) it was way too exhausting, which is also part of the reason I haven't been blogging much for several years, and 2) I really just wanted to focus on Paint.NET for awhile.) 2018 Looking back on 2018, a lot was accomplished! In the 4.0.20 update back in January I shipped a dark theme, which I originally didn't see the point of but now I can't imagine the app without it. After that there was mostly radio silence until I released 4.1 in September. That update had quite a lot of infrastructure changes in it, both in the low-level bowels of my COM interop system (long story…), and in the addition of GPU-powered effects (which was powered using Direct2D, which was dependent on the aforementioned COM stuff). Since then, the 4.1.1 through 4.1.5 updates have focused on fixing a bunch of bugs that have popped up (which has been frustrating), and improving performance (notably for effect loading at startup, and canvas rendering when zoomed out). 2019 What's next though? Well, I'll start by quoting a recent article over at HostingAdvice that I did a small interview for: After 10 years of working at Microsoft and several years at Facebook, Rick decided to focus exclusively on Paint.NET this year. “That means I’ve gone from having 20% of my time available to about 80%,” he said. “I’m going to be spending a lot of time preparing infrastructure for the next big wave of features going into Paint.NET.” To that end, Rick hopes to enhance the user interface with more attractive icons, allow users to install custom brushes, and introduce pen and pressure sensitivity for tablets. With that, let's start talking directly about what I'm planning and hoping to release in 2019: App Icons and High-DPI Paint.NET's UI is quite functional for high DPI systems without any of the layout problems or truncated text elements that have plagued Windows apps since, well, forever. However, that's no longer good enough in 2019. For starters, the app icons are all authored for 96 DPI (aka "100% scaling"), and look blurry at higher DPI settings. Upgrading all of that is a project I've just started working on, and is what the aforementioned article refers to as "more attractive icons." Beyond that, newer versions of Windows support dynamic scaling (changing the scaling without logging out and then in again), and per-monitor DPI. Right now if you change the system DPI while Paint.NET is open, it won't look very good. Similarly if you move the app over to a monitor with a different DPI setting. This also affects use of Remote Desktop where the remote system's DPI is different, and use of laptop docking stations when the external monitor's DPI is different. These all make using Paint.NET in modern scenarios rather clumsy and frustrating. For instance: when I use my laptop with a 4K screen to remote into my desktop with a 2K screen, it sucks that I have to restart Paint.NET so it doesn't look blurry. Windows gets a bad rep for having bad high-DPI scaling, and part of the responsibility for fixing that reputation lies with application developers like me. Refreshing the app icons is the next thing I'll be working on, and then I'll upgrade the infrastructure for dynamic DPI (probably over the course of several updates). Thankfully these projects seem to be the “final frontier” for High DPI: once they’re done we can finally bury the hatchet on High DPI bugs. .NET Core 3.0 Richard Lander's post earlier in the year about .NET Core 3.0 shipping with WinForms and WPF really made my day. The more recent announcement that both WinForms and WPF would be open sourced has fulfilled a long-time dream of mine. I can't wait to fork the ToolStrip classes and migrate them off of GDI+ (this should be a good performance win) It's clear that, in the long-term, Paint.NET needs to migrate over to .NET Core. That's where all of the improvements and bug fixes are being made, and it's obvious that the .NET Framework is now in maintenance mode. On the engineering side this is mostly a packaging and deployment puzzle of balancing download size amongst several other variables. My initial estimations shows that the download size for Paint.NET could balloon from ~7.5MB (today) to north of 40MB if .NET Core is packaged "locally". That's a big sticker shock … but it may just be necessary. And, for those who're interested: the move to .NET Core will finally enable a truly portable version of Paint.NET since .NET Core can just be bundled into the local app directory. I've been slowly moving towards "app local deployment" of dependencies anyway; e.g. for the v4.1 release I got fed up with the Visual C++ runtime's installation issues and moved them to be "app local". The security arguments no longer convince me that it's worth the massive hassles for both myself and end-users. The straw that broke the camel's back (so to speak) on this was when the Surface Go shipped with an incorrectly signed version of the Visual C++ runtimes which then prevented Paint.NET from loading at all (remember: the Surface Go runs Windows 10 "S" by default and can only run Store apps). Improved DDS support The DDS support in Paint.NET works well, but hasn't been updated to the newer DDS formats that have become more popular. Nicholas Hayes, aka "null54" on the forum, has written a plugin that provides better DDS support (forum link, and github link). This is a no-brainer for integration into Paint.NET so that everyone can benefit from these improvements (and without having to rename files to have a .dds2 extension, yuck!). Paint.NET is used a lot in the gaming biz, so this should help out a large audience of developers in this arena. Brushes and Pressure Sensitivity This is the big one. I've been wanting to get to this for years, and it's finally time to get it done. The first thing to happen is that Paint.NET needs an improved selection of built-in brush stamps (currently only "circle" is implemented). Second, custom brushes need to be supported without the use of a plugin. This will bring brushes up to the same level that Shapes is now at. Third, pen and pressure sensitivity is desperately needed and long overdue. I'll be posting more details when this project starts taking shape, and I'm hoping to start on it this summer. (Keep in mind, however, that pressure sensitivity will require at least Windows 8 or maybe 10: the APIs for this do not exist on Windows 7.) Expanded Plugin System(s) I really wanted to ship 4.1.2 with GPU support for effect plugins. However, a high-priority security vulnerability forced me to shelve that at the last minute. Now that I've had more time to think about this, I'd like to revamp the effect plugin system further -- it hasn't seen much love in the last decade. Providing access to GPU acceleration and Direct2D is an obvious next step, but I also have an opportunity to clean things up in this area. Effects can't easily combine (or compose) with other effects, and this makes it really hard to do arbitrarily complex things with them. It's also difficult to add new functionality to the effect system without accidentally breaking other parts of it. In addition, it's been way overdue for Paint.NET to support more plugin types beyond effects and file types. Plugins should be able to access more than the current layer, and even be able to implement whole-image transforms, or to create a new image (whether from scratch or based on another image that's already open). You can't even write a rescaling plugin for Paint.NET right now! I don't have concrete plans for specifically what I'll be adding here, or when, but it's high up on the priority list. And in the long term, I would still like to add support for tool plugins (something of a holy grail). Until next time … This roadmap for 2019 is ambitious, but I think I should finally have enough time to actually realize most of it. Hopefully I’ll be able to blog more in the coming year now that I’ve got more time and energy for it. Paint.NET is only going to get better as time goes on, and I'd really like to thank everyone for all of their support in making this transition to full-time self-employment possible for me. Thanks for the donations, thanks for buying the Windows Store app, thanks for the crash reports, thanks for the feature requests, and thanks for all of the fish!
  2. 3 points
    Just snap the windows to somewhere on the edge of the main window.
  3. 2 points
    Here's my other gingerbread cookie. It's covered in frosting. I was going to use one of Lynxter's gingerbread men but I didn't want to download all the packs, just that one pack. I wasn't sure if I could so I took the easy way and just made this little snuggly snow bear. It's a gingerbread polar bear. I used the fill tool in effects on this one, too, among other effects and adjustments, but if that breaks the rules, I understand. On another note, that's one reason why I love using the ShapeMaker plugin for making (and having on hand) custom shapes. Plus, using it relaxes me. My Newer 3 submissions were not using any image as a fill. All 100% PDN. No "Fill" image used in any of mine. My entries are now pure organic Paint.Net.
  4. 1 point
    Still having difficulty with post processing. here's my latest attempt it's not perfect, and I will keep trying, just bought the book "Light Science and Magic" I hope this might allow some understanding. The problem I have is dust on the plexi glass, it shows up in picture, but I think it has something to do with the angle I take the picture at. This is why I bought the book (kindle). I hope all had a great Christmas 😁
  5. 1 point
    Locked. There are some sensible thoughts here, but overall, this topic is just non-sense and is not going anywhere constructive.
  6. 1 point
  7. 1 point
    I got it sorted ... finally. Time for some Eggnog now 😂
  8. 1 point
    @HyReZ, that's a good feature idea. However, it's not really what Paint.NET is designed to handle at the moment. It would require migration to a more object-oriented approach for the internal document format, which is currently based around layers of identically sized bitmaps instead of arbitrarily sized and placed objects. Many parts of the rendering engine are totally fine with it, but other systems -- most notably, the tools and all of the commands for image manipulations -- wouldn't know what to do and would need upgrades and retrofits. So it would be a large and extensive upgrade to reach that point. I'm not currently planning to pursue this direction.
  9. 1 point
    I'm going to enter my cookies. I looked at many gingerbread cookies and since some come in different shapes, mine will, if that's ok. I also used a texture as a fill, but not as the image. I used it as a fill, so if using one of the effects (fill tool) isn't allowed, I understand. I used ShapeMaker to make the base and to make separate layers to tinker with, one at a time. I'm faster at ShapeMaker than I would have been using the line tool with 4 points trying to line them up neatly dozens of times or by trying to draw the icing without using a drawing tablet. So, I made templates and tinkered with them. I still have the ShapeMaker xaml files for this one. A template for the base cookie and icing templates. I'll try to load my .xaml shape "cookie kit" in a day or two. I also wanted to make the detailed frosting not look so perfect. I used a transparent darker brown shade, blur, and noise to make the edges on one side look mildly burned. My Newer 3 submissions were not using any image as a fill. All 100% PDN. Pixey replaced them into where the old images were. So, there was no "Fill" image used in any of mine. My entries are now pure organic Paint.Net. Here's one of my gingerbread cookies. A gingerbread tree.
  10. 1 point
    It is impossible to a have a true 1 pixel brush width and anti-aliasing at the same time! Once you add anti-aliasing the pixel width has to change since you cannot add fractions of pixels to fill in gaps created in raster pixellization. I am done here!
  11. 1 point
    I love this plugin Been printing out A3 sheets of graph paper for D&D games. Cheers Martin. If I could make a suggestion it would be to add dimetric ( 1 : 2 ) lines, ( opposed to Isometric 1 : 1 ). Don't know if anyone but me would use it though. Anyhoo, thanks again.
  12. 1 point
  13. 1 point
    Zoom in then hit Ctrl + B twice to recenter the image.
  14. 1 point
  15. 1 point
    You want smoother circles ? possibly try this You could also just duplicate the first circle and merge the 2 layers. Perfect ? Dunno but smoother. More long winded - draw your circle - centre it on the canvas - run Radial Blur. Definitely smoother
  16. 1 point
    Nothing in this forum topic makes complete sense to me.
  17. 1 point
  18. 1 point
  19. 1 point
    Dear @Maximilian! Dear @lynxster4 and @Pixey! Dear @welshblue! Congratulations to the winners! Well done everyone. @lynxster4! Thank you for hosting.
  20. 1 point
    Congratulations @Maximilian a lovely image for the Winter Well done everyone - all the entries were fabulous 😍 Thank you @lynxster4 for hosting 🍰