Bonjour,
j'aimerais réaliser un splash art transparent à la manière de photoshop (voir screenshot)
On voit qu'il y'a de la transparence permettant de voir le fond en dessous.
J'aimerais savoir s'il c'était possible de réaliser cela en SFML, j'ai essayé de le faire en appliquant un masque de transparence mais les zones sensées être transparente sont noires (surement à cause du window.clear() ).
Voici mon code:
#include <SFML/Graphics.hpp>
#include "SplashArt.hpp"
SplashArt::SplashArt(int largeur, int hauteur, int temps)
{
this->hauteur = hauteur;
this->largeur = largeur ;
this->temps = temps;
}
int SplashArt::show()
{
sf::RenderWindow splash(sf::VideoMode(largeur, hauteur), "Chargement", sf::Style::None);
sf::Image image;
sf::Texture texture;
sf::Sprite sprite;
image.loadFromFile("images/splashart2.png");
image.createMaskFromColor(sf::Color(255,238,95),0);
texture.loadFromImage(image);
texture.setSmooth(false);
sprite.setTexture(texture);
sf::Font font_splash;
if (!font_splash.loadFromFile("polices/Organic Fridays.ttf"))
return EXIT_FAILURE;
sf::Text text_splash("Chargement", font_splash, 50);
while (splash.isOpen())
{
sf::Event event_splash;
while (splash.pollEvent(event_splash))
{
if (event_splash.type == sf::Event::Closed)
splash.close();
}
splash.clear();
splash.draw(sprite);
splash.draw(text_splash);
splash.display();
_sleep((temps*1000));
splash.close();
}
}