Zdecydowanie najłatwiejszym sposobem na zrobienie tego (prawdopodobnie prawdopodobnie najlepszym, chyba że jesteś naprawdę przywiązany do wydajności) jest posiadanie dwóch kopii twoich duszków.
- Zwykła wersja
- „Gruba”, bezbarwna wersja - w zasadzie biała wersja twojego duszka X-wiele pikseli „grubsza” niż oryginał.
Narysuj cały obiekt za pomocą „grubej” wersji, a następnie narysuj zwykłą wersję na górze.
Zmieniając białą wersję „grubą”, można użyć wbudowanego przyciemniania kolorów SpriteBatch, aby dynamicznie zmieniać wybrany kolor.
Aby wygenerować „grubą” wersję, zalecam napisanie rozszerzenia potoku treści, który może automatycznie pobierać oryginalne duszki, czytać ich kanał alfa, tworzyć nowy kanał alfa, próbkując maksymalny kanał alfa z oryginalnego obrazu X-wiele pikseli wokół każdego piksela, i ustawienie RGB = (1,1,1).
Musisz upewnić się, że wszystkie duszki mają wystarczającą przezroczystą ramkę, aby dodać kontur (możesz to sprawdzić w procesorze treści - a nawet zrobić miejsce, jeśli to konieczne).
Jeśli masz tylko kilka duszków, możesz po prostu użyć dobrego edytora obrazów (GIMP, Photoshop) i zrobić to ręcznie: kanał alfa do wyboru, rozwinąć wybór, wybór do alfa, wypełnić kanały koloru białego.