Anti Aliasing Algorithmus gesucht.



  • Ich suche nen Anti Aliasing Algorithmus (fuer) Windows-Bitmaps. Damit der Treppeneffekt rausgeht.

    Hast Du denn auf die Erzeugung des "Windows-Bitmaps" ueberhaupt Einfluss?



  • der Fragesteller ist Unregistrierter Benutzer und wird daher nicht mehr antworten können



  • Bevor ich einen neuen Thread eröffne, dachte ich, dass es vielleicht besser wäre direkt in diesen zu posten, da ich vor einem ähnlichem Problem stehe.

    Ich habe diverse Füll-Algorithmen(Floodfill4, Scanline-Fill) für Images in mein Program implementiert. Nun würde ich den Algorithmen gerne ein sehr simples Anti-Aliasing spendieren. Mir ist dabei noch nicht ganz klar, wie genau ich vorgehen muss. Den Rand zu finden stellt kein Problem dar. Doch was ist der nächste Schritt?
    Ich nehme mal an, dass ich einfach die Pixel die direkt am Rand liegen, mit der Randfarbe "vermische". Aber wie genau? Und mache ich das nur für eine Pixelreihe? Oder mehrere?

    Vielen Dank schonmal.


  • Mod

    schoen das mal jemand sucht bevor er postet 🙂

    wenn du das einfachste AA suchst, dann kannst du einfach in doppelter aufloesung zeichnen und vor dem ausgeben skalierst du das bild dann auf die haelfte indem du pro 2x2 pixel den mittelwert bildest.

    wenn du das weiter optimieren willst, haengt es ziemlich davon ab was und wie du zeichnest (und vielleicht wie tollerant du gegenueber kleinen fehlern bist).



  • rapso schrieb:

    schoen das mal jemand sucht bevor er postet 🙂

    wenn du das einfachste AA suchst, dann kannst du einfach in doppelter aufloesung zeichnen und vor dem ausgeben skalierst du das bild dann auf die haelfte indem du pro 2x2 pixel den mittelwert bildest.

    wenn du das weiter optimieren willst, haengt es ziemlich davon ab was und wie du zeichnest (und vielleicht wie tollerant du gegenueber kleinen fehlern bist).

    Also wenn ich dich jetzt richtig verstanden habe, dann ist diese Variante nicht so einfach möglich. Bzw. wie zeichnet man in doppelter Auflösung? das würde doch bedeuten, dass ich das komplette Bild in dieser Aufklösung zeichnen müsste. Das möchte ich nicht. Wie gesagt : Ziel der "Übung" ist es das Anti-Aliasing direkt in den Floodfill zu integrieren.


  • Mod

    toxn schrieb:

    rapso schrieb:

    schoen das mal jemand sucht bevor er postet 🙂

    wenn du das einfachste AA suchst, dann kannst du einfach in doppelter aufloesung zeichnen und vor dem ausgeben skalierst du das bild dann auf die haelfte indem du pro 2x2 pixel den mittelwert bildest.

    wenn du das weiter optimieren willst, haengt es ziemlich davon ab was und wie du zeichnest (und vielleicht wie tollerant du gegenueber kleinen fehlern bist).

    Also wenn ich dich jetzt richtig verstanden habe, dann ist diese Variante nicht so einfach möglich. Bzw. wie zeichnet man in doppelter Auflösung?

    indem man jede coordinate vor dem zeichnen *2 nimmt. deswegen ist es ja die einfachste art.

    das würde doch bedeuten, dass ich das komplette Bild in dieser Aufklösung zeichnen müsste. Das möchte ich nicht.

    gruende?

    Wie gesagt : Ziel der "Übung" ist es das Anti-Aliasing direkt in den Floodfill zu integrieren.

    ein floodfill hat an sich kein anti aliasing. jeder punkt einer flaeche wird durch einen anderen ersetzt.

    Antialiasing wendet man auf vector funktionen ein, also beim umwandeln von mathematischen beschreibungen in bilder (quasi abtasten von signalen).



  • bereits gesamplete/quantisierte daten (wie z.b. bitmaps) kann man nicht anti-aliasen, da das aliasing schon passiert ist.



  • Danke erstmal.

    Ich hatte die Aufgabe eindeutig verkompliziert. Es ging nur darum, dem Floodfiil, einen 2 Pixelstraken Rand zu verpassen, der einen sanfteren
    Verlauf ergibt in die nächste Farbe ergibt. Das war dann in wenigen
    Minuten implementiert.


  • Mod

    toxn schrieb:

    Danke erstmal.

    Ich hatte die Aufgabe eindeutig verkompliziert. Es ging nur darum, dem Floodfiil, einen 2 Pixelstraken Rand zu verpassen, der einen sanfteren
    Verlauf ergibt in die nächste Farbe ergibt. Das war dann in wenigen
    Minuten implementiert.

    das waere dann ein blur :), haettest du mal gleich gesagt 😉



  • rapso schrieb:

    das waere dann ein blur :), haettest du mal gleich gesagt 😉

    HeHe. Sorry. Die Aufgabenüberschrift lautete AntiAliasing.
    Ich werd sicher noch paar Fragen haben in nächster Zeit.
    Hoffe die werden dann präziser


Anmelden zum Antworten