[SFML] Dodanie przeźroczystości do obrazka
Ostatnio zmodyfikowano 2012-10-26 21:47
BasTekpew Temat założony przez niniejszego użytkownika |
[SFML] Dodanie przeźroczystości do obrazka » 2012-10-26 20:52:35 Witam,
Chodzi o to, że mam problem z ustawieniem maski przeźroczystości dla obiektu klasy sf::Image. Mam obrazek na którym jest żółty kwadrat i w tle jest kolor 255,0,255 (taki różowy) i w kodzie po wczytaniu obrazka do zmiennej Image robię takie coś takiego:
obrazek.CreateMaskFromColor(sf::Color(255,0,255),0);
Po wczytaniu potem obrazka do sf::sprite przeźroczystość jest ale mój kwadrat ma jeszcze taką różową obwódkę coś takiego : Dodam jeszcze, że jak zapiszę tą grafikę po usunięciu maski do pliku na dysku i otworzę w programie graficznym to nie ma tej obwódki, a jak znowu wczytam z tego zapisanego pliku to obwódka jest. |
|
Gabes |
» 2012-10-26 21:13:48 Kolor (255,0,255) powinien być fioletowy, raczej u ciebie nie jest. |
|
DejaVu |
» 2012-10-26 21:27:45 Zapisz obraz jako plik *.png z przezroczystością i powinno wszystko działać jak należy. |
|
BasTekpew Temat założony przez niniejszego użytkownika |
» 2012-10-26 21:47:38 Chyba znalazłem źródło problemu, otóż po powiększeniu grafiki pojawiają się rozmyte krawędzie i pewnie dlatego jest jakaś różnica w kolorze, zauważyłem, że np. IrfanView robi tak samo po powiększeniu widać wyraźnie na grafice ciemniejszy paseczek, a w przypadku painta czy gimpa tego nie ma. I tutaj pytanie czy da się w sfml'u jakoś inaczej wczytać obrazek tak żeby te rozmycia nie występowały?
edit::
udało mi się rozwiązać problem, po prostu przed wczytaniem pliku do sf::Image dałem
obrazek.SetSmooth(false);
i obrazek został wczytany bez rozmycia. |
|
« 1 » |