Jump to content

Pantaleao

Members
  • Posts

    66
  • Joined

  • Last visited

Posts posted by Pantaleao

  1. I'm not sure if you're referring to using the True Feather option for the effect, or if that is it's true name. Regardless of the strength the True Feather option creates the same stripe effect, and the default Feather effect expands the outline of the image, thus still rendering it useless for smoothing the outline.

    I've also noticed that when attempting to sharpen the images, using either Sharpen or Sharpen+, the entire image is striped exactly how the new feather stripes the image.

    From what you're saying I'd bet you're still using the older version of PDN; just update to the newest one and you're done! :wink:

  2. What about an approach like lazy evaluation, where a given flag is first searched at the repository; if it's found, it's loaded from there, if not, it gets downloaded, stored there an used in the same manner? This way each one is downloaded only once - when first used - and the whole download process is diluted... :wink:

  3. Thanks!! Nice first try at CodeLab! :D

    Just a cleanup and a small enhancement to your code, as it seemed to me (from your code) that you were trying to use BrushWidth:

    int Amount1=10;  //[2,100]Line Spacing
    int Amount2=1;   //[1,2]Vertical <-> Horizontal
    
    
    void Render(Surface dst, Surface src, Rectangle rect)
    {
       ColorBgra PrimaryColor = (ColorBgra)EnvironmentParameters.PrimaryColor;
       int       BrushWidth   = (int)EnvironmentParameters.BrushWidth;
    
       for(int y = rect.Top; y < rect.Bottom; y++)
       {
           for (int x = rect.Left; x < rect.Right; x++)
           {
               ColorBgra CurrentPixel = src[x,y];
    
               if(Amount2 == 1)
               {
                  if ((x % Amount1) < BrushWidth)
                       CurrentPixel = PrimaryColor;
               }
               else
               {
                  if ((y % Amount1) < BrushWidth)
                       CurrentPixel = PrimaryColor;
               }
    
               dst[x,y] = CurrentPixel;
           }
       }
    }
    

  4. Make it 3! While submenu names such as Blur, Distort, Render, etc. are pretty objective about its contents 'Artistic' is totally subjective (just like 'art' is... ;)), being of no use in guiding the user; in fact I think that entries like Artistic need further thinking and a more meaningful name...

  5. It`s good to hear, that they work good.It took me two hours to fix all of the plugins.

    And thanks for telling me what was done bad.

    I'm glad to hear that 'tis fine now so thanks to Ed Harvey for being the first to pinpoint the problem.

    Congratulations! :)

  6. Why do you think I'm such a proponent of functional programming patterns? Minimize or even eliminate dependences on external state, and side effects, and your program will be much easier to analyze for correctness. And once you're used to it, it's honestly easier and faster to write code that way anyway. Less time debugging and going "hmm how does this work in this state" and more time saying "look I'm done!" even if you had to type more keystrokes.

    Wow! it seems very promising indeed, but I must confess that I feel myself kind of 'out of the league' in relation to functional programming... :oops:

    The closest I've ever been to it's concepts is the use of the so-called functors, such as for each and first that, for iterating through complex hierarchical object sets, carrying functions as arguments and - in the case of first that - returning an instance of an object that satisfies the given condition function. It's been implemented (mind you!) in C++ in our current intelligent field devices configuration software- a now ~10 years old program, in it's second incarnation -, for control networks such as Foundation Fieldbus, Profibus, DeviceNet, etc. and helped us enormously in simplifying programs' logic but I can't see myself shifting paradigms again so soon... :lol:

    The concepts, nonetheless, are great - I took a look at the reference you've pointed at at the roadmap (thanks! ;)) - and I just love anything that enforces patterns and best practices! So, who knows... :D

  7. The most pervasive problem is that you have declared your working variables outside the Render method, and hence they are global :(

    Since these variables are being modified from multiple threads, the results are, umm, not nice...

    Repeat after me "Global variables are bad. Global variables do not play-nice with threads. m'kay"

    Yep! The bad habit of using globals not only leads to almost unreadable, unmaintainable code but is also responsible for most of the problems of the kind "I can swear I saw this happening! I don't know why it's not happening just now that I'm trying to show you... but you must believe me!!" Or it's variant "I think I saw a pussycat!" Damn spaghetti oriented programming! :lol:

    That's one of the reasons why I like pure object oriented programming languages or, at least, it's practices when using 'hybrid' languages (most of the current 'mainstream' ones are, to some degree...). Sooooo......

    "Global variables are bad. Global variables do not play-nice with threads. m'kay"

  8. FormBorderStyle is not constant neither in Windows as a whole, nor even in Paint.NET. Some windows have it FixedToolWindow, others SizableToolWindow, other FixedDialog / FixedSingle (they look almost the same) and the Main window has it Sizable, of course. No applications keep the same FormBorderStyle in all their windows.

    Different FormBorderStyles are well suited for different windows, depending of their content and usage. That's why there is more than one FormBorderStyle anyway. Take a look at other applications you use and stop bugging me about things you don't understand well.

    Well... :evil:

    I was thinking in giving some opinion that could (possibly / perhaps / who knows...) serve as a basis for further discussion for us as a whole, not for a single person, but due to your lack of maturity (yep, this happens at all ages...) and highly inflated self assessment (no, I was not talking to you, just giving an opinion following what pyrochild said - did you notice the quote I used there?) I'll have to answer directly to you. Sorry folks...

    Take a look at other applications you use and stop bugging me about things you don't understand well.

    Dude, the world does not revolve around you! I gave up discussing with you since when it became crystal clear that you didn't had a clue about things you were making assertions of.

    Even being - to put it in simple terms - a software developer for the industry and not just a theoretical genius wanna be, I do take a look not only at other applications but also to all actual work that my team develop; the difference between you and me seems to be that I can look and actually see; I do abstract patterns that guide all my work... so please, forget about me, get a life, be humble!

    [/end of a ridiculous discussion - for good!]

  9. Yeah, there's no requirement as to what borderstyle a plugin uses...

    Yep, thats true, afaik. But it's also true that a uniform look (and feel) throughout all the many windows and dialogs a program may have benefits the user the most (there are even studies about that!) So, e.g., where a submenu can get the job done (group of related commands), it surely is the UI element to be used (it's not only my opinion, see 1).

    Any deviation from well established standards just confuses the average user. Instead of learning one convention for L&F throughout all applications of a given S.O. :D, s/he has to 'learn by application'... :?

    1 Windows Look and Feel Design Guidelines, Microsoft Press.

  10. Yes, there's a reason for this...

    That's it! It's perfectly clear for me now. Thanks Rick for this concise and yet precise answer. By the way, I'm just thrilled to be able to dig into PdN! What an amazing software project... I'd like to learn much more about it and with a great emphasis in it's architecture, design patterns being used, etc. So, I'm starting! :D

    Once more, thanks and congratulations for this project!! :bmw:

    ps: regarding those diagrams I've mentioned, do you have anything to 'feed' me? (or documentation, for that matter...) :oops: :lol:

  11. You'll need to update your plugin for Paint.NET 3.05.

    Change all references of PdnLib.dll to PaintDotNet.Core.dll

    BTW, I would also add references to PaintDotNet.Data.dll so that you can have access to the blending ops.

    Guys, am I missing something or in spite of both this alert and an update note at Sepcot's page ("Updated: April 23, 2007 - Changed references of PdnLib to PaintDotNet.Core in compliance with Paint.NET Version 3.05 and above."), the downloadable template is not the (supposedly) updated one, but the one from 2007-03-06 (first update) that still references PdnLib and stuff?? :?: :?

  12. 1- Almost all of the classes in System.Windows.Forms are similar to those in Delphi.

    2- the Properties Windows is almost identical to the Object Inspector

    3- try .. catch .. finally

    4- using / Uses

    5- compiling / building is fast (not as fast as in Delphi, but anyway)

    6- if (boolean) not if (integer) as in C

    7- other similarities (I need no more than a minute to find another one, but I have other things to do)

    8. As about java, it is absolutely sluggish, its windows are awful looking, it crashes all the time... that is not even a programming language outside the Internet scope.

    Disclaimer: I'm in no way associated to any devilish conspiracy against C#, nor trying to promote Java; :twisted:

    In fact, I find them both very useful! I just can take no more certain dogmatic gibberishes for granted... :evil:

    1- common to many, many languages running at Windows; btw, Delphi is - to a certain extent - based on VB and VC++ concerning to RAD (I told you not to bother mentioning...)

    2- have you ever seen BC++, CPPBuilder, JBuilder (all are IDEs) and Java (the real one)... the concept of properties (as we see them nowadays) originated from Java and then were adopted into Windows world...

    3- you've gotta be kidding! Pure Java, mind you...

    4- you've gotta be kidding!!

    5- wait! Are we talking about languages or compilers? BTW have you ever compiled a Java program? Try it, then tell me about it...

    6- tell me something new...

    7- use this time to get to know Java, it may even help you in learning C#... (seriously!)

    8- Now I'm confident to tell that you don't know Java at all!! So, end of discussion...

    BTW, Java isn't (just) a programing language: it's a complete computational environment that runs not only Java bytecode, but also many other languages... (don't take my words for granted; just google it) ;)

    [/end of C# x Java match]

    [/end of who knows the most. I promise! (as long as...

×
×
  • Create New...