Anti Alias

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Markus2

Betreff: Anti Alias

BeitragFr, Nov 17, 2006 14:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

hat jemand nen Quelltext für mich um bei einem Bild die Kanten zu glätten ?
Ich möchte aus einem Bild ein kleiners machen und mit Anti Alias sähe es besser aus .

EPS

BeitragFr, Nov 17, 2006 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Schalt einfach TFormFilter ein und mach es dann kleiner, dann wirds von alleine "weich".
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier

Man kann sich öfter als zweimal im Leben halb tot lachen.

Vertex

BeitragFr, Nov 17, 2006 18:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Gibts nicht in BMax Wink

Ja, Anti Alising Algorithmen funktionieren nicht bei Bildern. Generell braucht man dafür Vektorgrafiken wie beispielsweise Schrift, Logos, 3D Modelle etc.

Was du brauchst ist beispielsweise eine bilineare Verkleinerung.
Müsste denke so gehen:

Das original Bild beispielsweise 200 x 300 Pixel groß ist und das Resultat 100 x 120 Pixel.

DeltaX = 100/200 = 0.5
DeltaY = 120/300 = 0.4

Dann

Code: [AUSKLAPPEN]
For Y = 0 Until 120
   OrgY      = Y*DeltaY
   OrgYFloor = Floor(OrgY)
   OrgYCeil  = Ceil(OrgY)
   WeightY   = OrgYCeil - OrgY

   For X = 0 Until 100
      OrgX      = X*DeltaX
      OrgXFloor = Floor(OrgX)
      OrgXCeil  = Ceil(OrgX)
      WeightX   = OrgXCeil - OrgX
   Next
Next


Du greifst dir dann 4 Farbwerte:
Color00 = (OrgXFloor, OrgYFloor)
Color10 = (OrgXCeil, OrgYFloor)
Color01 = (OrgXFloor, OrgYCeil)
Color11 = (OrgXCeil, OrgYCeil)

Dann musste das Farbgewicht berechnen:
ColorTop = Color00*(1.0 - WeightX) + Color01*WeightX
ColorBottom = Color10*(1.0 - WeightX) + Color11*WeightX

Color = ColorTop*(1.0 - WeightY) + ColorBottom*WeightY

Interpolierst also die 4 Farbwerte nach Gewicht.

Ich denke mal, du weißt, dass man die Farbkomponenten R, G, B jeweils interpoliert.

mfg olli
vertex.dreamfall.at | GitHub

Markus2

BeitragFr, Nov 17, 2006 19:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok,danke,
ich denke das ich damit klar komme Smile

TheShadow

Moderator

BeitragFr, Nov 17, 2006 22:44
Antworten mit Zitat
Benutzer-Profile anzeigen
eigentlich reicht ein gut gemachtes bild mit alpha-channel aus - dann wird nicht mal skalierung benötigt
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group