Jump to content

Rick Brewster

Administrator
  • Posts

    20,730
  • Joined

  • Last visited

  • Days Won

    386

Everything posted by Rick Brewster

  1. Interesting ideas, although I don't see Paint.NET ever looking like that interface ... I'm definitely interested in how it renders its brushes and stuff and stuff, however.
  2. Well, I would say it's only sort of "your fault" ... I wish the dialog could be made a little more intelligent about file extensions but unfortunately I don't have control over it. It's a built-in Windows dialog. Maybe the new stuff in Vista will give me the correct amount of control so that we can make it less easy to save as a file type with the wrong file extension.
  3. 1) That file is a PNG. Rename it accordingly and it will work.. 2) I've filed a bug.
  4. If you really want your head to explode, you should investigate the terms premultiplied alpha and alpha compositing on Wikipedia or something. http://en.wikipedia.org/wiki/Alpha_compositing . It might take awhile to wrap your head around the concepts involved in alpha composition, but it's worth it if you want full understanding of this stuff. Paint.NET didn't have correct alpha composition in the layer rendering code until v2.6. We're still fixing this up in other areas too. The code that saves PNG (or other single-layer, non-.PDN image types) goes through the same code path as the real-time composition and rendering code. So you will not have the ability to save 1,192,192,192 except to a PDN file.
  5. The reason 0,192,192,192 probably jumps over to 0,0,0,0 is one of mathematical and color space equivalence: if a color is fully transparent, then it is equivalent to all other transparent colors and the R,G,B values are irrelevant. It's transparent, what more needs to be known? Mathematically, the 0 alpha value causes this to happen: a transparent color value should never contribute to anything. A pixel that is transparent is essentially a pixel that does not exist. I'm assuming that you're seeing 0,192,192,192 converted to 0,0,0,0 when you save as a .PNG? For .PDN it should preserve the color value but for other file types the process of exporting does a flatten operation (even for 1 layer).
  6. Well, yeah it is an "open source" project. It is just not a community developed project, and the release structure is more like classic shrink-wrap software. "Open source" is kind of a nebulous term.
  7. Well, you say "it's quickly turning into a power-tool which would scare the likes of my mum" but you're not qualifying that by pointing out which parts are becoming too complex or more difficult, for instance. I personally dont believe Paint.NET 3.0 is more complicated than 2.xx. In fact I think it's simpler. The biggest UI change is the shift to MDI and for those people who want to open more than one image the UI is much easier to navigate than a horde of taskbar buttons full of Paint.NET icons. For people who still only want to open one image, they just end up with a preview thumbnail in the top right of the UI. The other major noticable difference is the color palette in the Colors window. I don't think this adds to complexity, because it's very obvious what it is and how to use it. They're colors, you click on them The Tools window is less cluttered and schizophrenic now that the bottom portion of its functionality (the colors stuff) has been moved to the Colors window. The toolbar has become context-dependent in a way that I think helps the user. If a certain button or drop down is not relevant, it is not shown. The user does not have to guess if Tolerance or Alpha-Blending are going to have any effect on what they want to do. For a user who wants to open an image, and do a quick resize / crop / adjustment, the UI hasn't become any more cluttered or difficult. It's probably easier now that Adjustments is a top-level menu. The File menu is also shorter in 3.0 than it ever was in 2.xx. So if you just want to resize an image ... File->Open, choose image, then Image->Resize, type in numbers and press OK, then File->Save and complete. Same exact workflow as in 2.xx. There are also several dialogs and prompts in Paint.NET which have shifted to using the "task dialog" style instead of the old MessageBox style. These dialogs end up being simpler to figure out. For an example, look at the "unsaved changes" dialogs when you exit without saving. There are only two places I'm really concerned about right now. The first is maybe the Effects menu. It's possible to clame that is is becoming more 'cluttered.' However, that's not necessarily a bad thing if we can keep the organization logical, which I think we have managed to do so far. Plus, people love having tons of effects to play with. The second is that the Language selection has been moved to the Help menu, and it may just be harder for a non-English speaker to find it. This is mitigated by language selection being very easy during installation, and also by the relatively high technical barrier to installation that currently exists for language packs. Lastly, having "basic vs. advanced" mode is self-defeating. You get users installing in basic mode wondering where all the good features are, and then you get basic users self-qualifying themselves as advanced users and then being overwhelmed by the advanced UI. http://blogs.msdn.com/oldnewthing/archi ... 54583.aspx
  8. That's because alpha of 0 = transparent. Try it with any other tool.
  9. It creates a bug hazard. Any time I do code like this I would also have to remember to update that big of data. Elimination and avoidance of bug hazards is something I can cite as having a profound effect on Paint.NET's code quality and stability over its development. Anyway it's really not a big deal either way, it just doesn't warrant the attention. I've yet to receive any other questions or concerns about it.
  10. Yes. Ok that's probably a pretty simple bug then. There are parts of the code where redrawing is temporarily disabled to prevent flickering or to enable operations to appear atomic (i.e. if I had 8 things to a list, it looks better to have them all appear at once than to redraw 8 times after I add each one in turn). Probably just re-enabled redrawing but then forgot to refresh the window.
  11. That's one way to do it. But "isBackground" is stored in the file, so now you're asking me to add a bunch of extra logic to the .PDN image read/write code. This is code that works great as it is, mind you! Plus that would break forwards file format compatibility -- files saved in 3.0 would not open in 2.72, whereas they otherwise should. Plus, a layer object by itself has no notion of 'where' it is, so the 'isBackground' logic would have to be moved to other places of the code: anytime a layer is added, moved, deleted, or otherwise positionally altered, there would have to be code to figure out how to cope with the 'isBackground' bit. So your idea, while simple at the surface, actually adds a lot of complexity and introduces risk to simplify something that really isn't in grand need of simplification (IMO of course -- and I'm the dev lead ).
  12. If you then resize the Layers window, does it redraw and then display correctly? Also, it looks like at step 8 you are answering 'no' to the dialog that asks you to expand the canvas size. Correct?
  13. I will then make sure to forward to you the 1000 e-mails I end up getting that look like this: Consider that the most common use case for Paint.NET is to open a regular 1-layer image (like oh, a JPEG) and to do simple 1-layer manipulations to it (crop, brightness, resize, save as another format). Transparency is the farthest thing from most people's considerations.
  14. Actually that's a good question BoltBait. In older versions of Paint.NET, it wouldn't let you move, delete, or rename the Background layer. Everyone hated it, so now those restrictions are gone. I've considered treating the background layer in special ways, such as having it implicitely be opaque so that erasing its contents would not reveal the 'checkerboard' pattern -- Photoshop does this for instance. But this would just make things non-uniform in seemingly random or "buggy" ways (seemingly buggy, mind you). But, in the end, the only thing that the 'background' property does now is one small change in the Image->Canvas Size behavior: when expanding the canvas size, if the layer is the background, the new area will be filled with the Secondary color. Otherwise, it will be filled with transparency.
  15. Sorry, the source code is not made available in this manner. Our CVS server is not public, nor do we accept unsolicited contributions.
  16. ... screenshot? Everything works perfectly fine here.
  17. Or maybe it's the auto-configure stuff it doesn't work with. I can't remember, it's been a long time since that code was written and wrestled with. In any event, this isn't something that's going to be revised or fixed. Heck, I don't even have an appropriate network to test the code on anyway, I'd be guessing.
  18. Paint.NET does not work with proxies that require authentication. This is just a known fact, and will not be remedied. You will just have to update manually. You might also look into using something like the ISA Firewall Client.
×
×
  • Create New...