21 Stimmen

Einfache Anti-Aliasing-Funktion für Delphi 7

Ich brauche eine sehr einfache Funktion, um eine Reihe von Linien mit Anti-Aliasing zu zeichnen. Sie muss dem Delphi-Paradigma folgen: eigenständig und SYSTEMUNABHÄNGIG (keine DLL-Hölle), schnell, einfach. Kennt jemand eine solche Bibliothek?

Bis jetzt habe ich es versucht:

WuLine
swissdelphicenter.ch/torry/showcode.php?id=1812
Ich glaube nicht, dass der Autor dieses Codes ihn jemals ausgeführt hat. Es dauert eine Sekunde, um eine einzige Linie zu zeichnen! Es ist offensichtlich nur für pädagogische Zwecke :)

Anti-Alias-Zeichnung aus TMetaFile
Link: blog.synopse.info/post/2010/04/02/Antialiased-drawing-from-TMetaFile
Ich habe das noch nicht wirklich ausprobiert (vielleicht tue ich es bald). Es funktioniert nur mit TMetaFiles. Es lädt nur eine EMF-Datei und zeichnet sie mit Anti-Aliasing-Funktionen. Außerdem ist ein Großteil des Codes auf dieser Website nur zu Demonstrations- und Schulungszwecken gedacht.

Bild32
Sehr schöne Bibliothek - bis jetzt am vollständigsten. Ich könnte es verwenden, aber es ist Overkill für das, was ich brauche.
Benachteiligungen:
- Der zur Anwendung hinzugefügte Speicherplatz ist ziemlich groß.
- Wirklich schwierig zu benutzen.
- Sie müssen wirklich tief in seiner obskuren Dokumentation auch für einfache Aufgaben zu gehen. - Der mitgelieferte Demo-Code ist viel zu komplex.
- Buggy!
- Keine aktuellen Updates (zur Behebung von Fehlern)

Anti-Grain Geometry Bibliothek
Die Bibliothek braucht ein anständiges Installationsprogramm. Die Autoren der Bibliothek sind Linux/Mac-Benutzer. Die Windows-Implementierung sieht seltsam aus. Zur Bibliothek selbst kann ich nichts weiter sagen.

Xiaolin Wu's basierte Funktion (von Andreas Rejbrand)
Siehe nur einige Beiträge weiter unten. Andreas Rejbrand hat eine sehr kompakte Lösung gefunden. Die beste Lösung bis jetzt.


Es sieht so aus, als müsste ich erklären, warum ich keine großen Bibliotheken von Drittanbietern und VCLs mag:

  • Sie müssen sie installieren
  • große Bibliothek bedeutet große Anzahl von Fehlern, was bedeutet
  • Sie müssen nach Updates suchen (und sie erneut installieren)
  • wenn Sie Delphi neu installieren, müssen Sie sie ein weiteres Mal installieren (ja, ich hasse die Installation von VCLs)
  • für VCLs, bedeutet dies, dass Sie einige zusätzliche Symbole in Ihre bereits überfüllte Palette laden müssen.
  • (manchmal) keine Unterstützung
  • LARGE Fußabdruck, der zu Ihrer Anwendungsgröße hinzukommt
  • eine große Bibliothek bedeutet (nicht immer, aber in den meisten Fällen), dass sie schwierig zu benutzen ist - schwieriger, als Sie es brauchen.
  • (für externe DLLs und API) wird Ihre Anwendung systemabhängig - sehr unangenehm!

3voto

bman Punkte 4258

Hier sind die Produkte, die mir bekannt sind:

  1. DtpDocument Sehr guter Vektor-Editor. Viele Funktionen. Anti-Aliasing wird sehr gut unterstützt. Kommerzielle Lösung
  2. BildEn Das ist schnell genug für mich. Kommerzielle Lösung
  3. Kairoer Grafiken Es ist sehr schnell und wird von Mozilla in Firefox für das Rendering verwendet. Sie können Kairo ganz einfach in Delphi verwenden, indem Sie este Tutorium. Ich empfehle Ihnen dringend, es zu versuchen.

1voto

lainz Punkte 13

Es gibt BGRABitmap für Delphi https://github.com/bgrabitmap/BGRABitmapDelphi

BGRABitmap, ursprünglich eine Lazarus FPC Bibliothek, arbeitet jetzt mit Delphi VCL und ist voll funktionsfähig mit Antialiasing und Transparenz.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X