Jak mogę mieć w klasie nieruchomość do przechowywania zdjęcia/obrazu?
Chcę, aby atrybut mojej klasy bohatera miał atrybut portretu dla jego/jej obrazu. Jakiego typu obiektu powinienem użyć w takim przypadku?
public class Hero
{
public string Name { get; set; }
public string HeroType { get; set; }
public int StartingHP { get; set; }
public int StartingMana { get; set; }
public Dictionary<string, string> Spells { get; set; }
public Dictionary<string, string> Items { get; set; }
}
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
3 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Możesz odczytać obraz z pliku takiego jak ten:
<strike>
Możesz użyć klasy z System.Drawing.dll. Na przykład:
</strike>
Aby załadować obraz, wywołaj . Jeśli masz obraz w strumieniu (na przykład z bazy danych lub usługi internetowej), możesz wywołać .
Jeśli masz wszystkie obrazy w czasie kompilacji, możesz umieścić je w pliku ResX; możesz pobrać obraz z pliku kodu wygenerowanego przez projektanta, na przykład: .
Anonimowy użytkownik
Potwierdzenie od:
Czy wiesz na pewno, że zawsze będziesz potrzebować sposobu, aby przedmiot mógł żyć? Martwiłbym się pożarciem pamięci. Prawdopodobnie najlepiej jest po prostu zapisać identyfikator zasobu (ścieżkę do pliku, nazwę w pliku zasobów itp.) I przekazać te informacje tylko do pól graficznych. Nie radziłbym trzymać się całego obrazu. Przynajmniej w winforms (nie wiem jak o WPF) garbage collector nie jest zbyt dobry w czyszczeniu obrazów. Traktuje je tylko jako odniesienie (tj. Liczbę całkowitą), ponieważ reszta obrazu jest w zasadzie niezarządzanym obiektem i uważa, że zbieranie nie ma wysokiego priorytetu. W międzyczasie może przeżuwać megabajty. Wypaliliśmy się na moim poprzednim projekcie na ten temat.
Anonimowy użytkownik
Potwierdzenie od:
System.Drawing.Image
http://msdn.microsoft.com/en-u ... .aspx