Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

physX

Treue Seele

  • »physX« ist der Autor dieses Themas

Beiträge: 119

Wohnort: Dresden

  • Private Nachricht senden

1

15.04.2009, 09:47

SFML und alphachannels

hallo, da ich bei SDL Probleme mit alphablending habe, wollte ich mal zu SFML wechseln (wird sowieso von vielen hier empfohlen). Vorab aber meine Frage:

wenn ich ein Bild inklusive gesetzen werten im alphakanal bei SFML als ::image hochlade und das ganze dann als Sprite mit dem blendmode alpha blitte, wird dann der vorhandene alphakanal automatisch für das blending übernommen? sollte laut der dokumentation von sfml eignetlich funktionieren.
bei sdl hatte ich das Problem, dass obwohl die werte im alphakanal gesetzt waren er mir partout nicht die entsprechenden pixel ausblenden wollte, sondern immer nur ganz oder gar nicht gemacht hat. Also feinere abstufungen der alphawerte bei verschiedenen Pixeln war nicht machbar.

vielleicht hat da ja bereits jemand erfahrung mit und kann mir da ein paar tips geben.

Lerikson

Alter Hase

Beiträge: 412

Wohnort: nördlich von Hamburg

Beruf: Schüler

  • Private Nachricht senden

2

15.04.2009, 10:58

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!
Errare est humanum. -Windows ist menschlich ;-)

physX

Treue Seele

  • »physX« ist der Autor dieses Themas

Beiträge: 119

Wohnort: Dresden

  • Private Nachricht senden

3

15.04.2009, 11:48

Zitat von »"Lerikson"«

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 :D )
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.

Lerikson

Alter Hase

Beiträge: 412

Wohnort: nördlich von Hamburg

Beruf: Schüler

  • Private Nachricht senden

4

15.04.2009, 15:11

ok, könnte mir vorstellen das du den Beitrag von mir gelesen hast ("Colorkeying") daher weiß ich vom Colorkeying :D
Errare est humanum. -Windows ist menschlich ;-)

physX

Treue Seele

  • »physX« ist der Autor dieses Themas

Beiträge: 119

Wohnort: Dresden

  • Private Nachricht senden

5

15.04.2009, 15:41

Zitat von »"Lerikson"«

ok, könnte mir vorstellen das du den Beitrag von mir gelesen hast ("Colorkeying") daher weiß ich vom Colorkeying :D


yep, du bist schuld :D

Lerikson

Alter Hase

Beiträge: 412

Wohnort: nördlich von Hamburg

Beruf: Schüler

  • Private Nachricht senden

6

15.04.2009, 18:26

:D
Errare est humanum. -Windows ist menschlich ;-)

Werbeanzeige