Also sooo sehr kenn ich mich nicht damit aus, da ich meinen Bildern
(Sprites) immer nur simples Colorkeying verpasse um den Rand loszuwerden aber du kannst ja mal hier fragen:
SFML Hauptseite:
http://www.sfml-dev.org/
Deutsches SFML Forum:
http://sfml.boxbox.org/
Wenn es dir hilft ist hier der Code für Colorkeying einer bestimmten Farbe:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
|
sf::Image BeispielImage;
BeispielImage.LoadFromFile("Beispiel.png");
/* Colorkey für die Farbe in der 2. Klammer erzeugen, hier Rot (255, 0, 0)
Die Zahl nach der 2. Klammer gibt an, wie transparent die Farbe sein soll: 0 heißt ganz transparent ,127 halb transparent und 255 normal also deckend. Ich gebe jetzt 0 an um Rot unsichtbar zu machen... */
BeispielImage.CreateMaskFromColor(sf::Color(255, 0, 0), 0);
// Und das könnte man für verschiedene Farben unterschiedlich stark machen und erhält dann eine Abstufung
|
Ich hoffe das hilft dir weiter!
Hallo, danke für deine Antwort.
hab im Forum, dass du mir angegeben hast auch prompt eine zufriedenstellende Antwort gefunden. Zumindest für png-bilder wird der alpha-kanal in SFML direkt mit verarbeitet.. (thank god
)
http://sfml.boxbox.org/index.php/topic,92.0.html
werde mich dann mal daran machen mir die SFML genauer anzueignen..
Das Prinzip wie ich die alphaChannels auch nachträglich setzen kann ist mir klar. Ich wollt mir nur von vornherein Ärger wie bei der SDL ersparen, hier schien das nämlich nicht so ohne weiteres realisierbar zu sein.
In Gimp kann ich mir ja relativ einfach aus "Transparenz aus Farbe" eine schöne fein abgestufte AlphaMaske erstellen. Die würd ich dann natuerlich gern einfach übernehmen.