Hi.
I need a very simple function to draw a bunch of lines with anti-aliasing. It has to follow Delphi paradigm: self contained and SYSTEM INDEPENDENT (no DLL hell), fast, simple.
Anybody knows such a library?
Until now I have tried:
WuLine
swissdelphicenter.ch/torry/showcode.php?id=1812
I don't think that Peter Bone, the author of this code ever run it. It takes one second to draw a single line! It is obviously only for educational purposes :)
Anti aliased drawing from TMetaFile
Link: blog.synopse.info/post/2010/04/02/Antialiased-drawing-from-TMetaFile
Haven't really tried this yet (I may do it soon). It works only with TMetaFiles. It only loads an EMF file and draw it using anti aliasing functions. Plus, much code on that web site is only demonstrational/educational.
Image32
Very nice library - most complete until now. I am using this currently in my program. Totally overkill for what I need.
Disadvantages:
- The footprint added to application is pretty big.
- Really difficult to use.
- You need to go really deep in its obscure documentation even for simple tasks.
- Buggy!
- No recent updates (to fix the bugs)
Anti-Grain Geometry library
The library needs a decent installer. The writers of the library are Linux/Mac users. The Windows implementation looks weird.
Xiaolin Wu's based function (by Andreas Rejbrand)
Best solution until now. However, it works when you have to draw only 10-20 lines, else it is too slow.
It looks like I have to explain why I don't like large 3rd party libraries and VCL's:
- you have to install them
- large library means large number of bugs which means
- you have to check for updates (and install them again)
- when you reinstall Delphi, you have to install them one more time (yes I hate installing VCLs)
- for VCLs, it means you have to load some extra icons in your already crowded palette.
- (sometimes) no support
- LARGE footprint added to your application size
- large library means (well not always but in most cases) difficult to use - more difficult than you need.
- (for external DLLs and API) your application becomes system-dependent - really nasty!