Chciałbym wiedzieć, co następuje: Dodałem folder "Grafika" do mojego projektu i utknąłem w nim BMP. Teraz chciałbym załadować obraz z mojego kodu, ale nie wiem jak. Wiem, że jest to proste dzięki zasobom, ale czy istnieje sposób bez dodawania obrazu do zasobów? DziękiC#: Uzyskiwanie dostępu do obrazu dodanego do folderu projektu
Odpowiedz
Kiedyś się nad tym zastanawiałem, więc wymyśliłem to i umieściłem w blog post. Na swoim przykładzie, powinno być coś takiego:
var a = Assembly.GetExecutingAssembly(); // Or another Get method if you need to get it from some other assembly
var image = Image
.FromStream(a.GetManifestResourceStream("DefaultNameSpace.Graphics.image.bmp"));
Pamiętaj, aby oznaczyć zdjęcie jako Embedded Resource i dysponowania obrazem kiedy zrobić, aby nie dostać żadnych przecieków :)
Dzięki. Co się stanie, jeśli zostawię "Treść" jako działanie Build? Proszę - do jakiego zestawu nazwisk należy? Nie jestem w stanie tego nazwać. – Petr
DefaultNamespace to przestrzeń nazw podana w ustawieniach projektu. Domyślnie jest to nazwa twojego projektu. Jeśli korzystasz z akcji budowania zawartości, myślę, że plik zostanie skopiowany do katalogu wyjściowego. Jeśli to zrobisz, będziesz musiał użyć 'Image.FromFile (" pathtoimage.bmp ")' lub coś podobnego. – Svish
Hmm .. Próbowałem wpisać Assembly. ale nic się nie pojawiło. – Petr
Aby uzyskać zasobu:
myNamespace.Properties.Resources.images.<imagename>
można oddać, że do rodzaju trzeba (lub użyć funkcji na przykład fromfile)
należy określić na właściwości plików, które muszą być stosowane przy budowie aplikacji:
Kopiuj do wyjścia katalogu: Skopiuj zawsze
Następnie można uzyskać dostęp do pliku przy użyciu metody Image.FromFile, ścieżka będzie dokładnie taka sama, jak w projekcie.
Jeśli to zrobisz, to to nie jest zasób osadzony. Możesz mieć poważne problemy, jeśli nie poradzisz sobie z brakującymi plikami, gdy użytkownicy właśnie skopiowali plik exe zamiast całego folderu. – RvdK
You może załadować obraz bezpośrednio z systemu plików:
Image img = Image.FromFile ("\ Graphics \ ImageName.bmp");
dokumentacji MSDN jest tutaj
http://msdn.microsoft.com/en-us/library/system.drawing.image.fromfile.aspx
Oczywiście trzeba by wiedzieć katalog i nazwę ładowanego od.
- 1. Uzyskiwanie dostępu do pliku ustawień innego projektu
- 2. Uzyskiwanie dostępu do Web.config z innego projektu
- 3. Visual Studio dodanie obrazu do projektu
- 4. Uzyskiwanie dostępu do ScrollViewer ListBox z C#
- 5. Uzyskiwanie dostępu do pliku nagłówkowego
- 6. Uzyskiwanie dostępu do projektu django w systemach LAN
- 7. Uzyskiwanie dostępu do wartości pikseli OpenCV 2.3 - C++
- 8. Uzyskiwanie "java.nio.file.AccessDeniedException" podczas próby zapisu do folderu
- 9. Uzyskiwanie dostępu do danych Flixster
- 10. Uzyskiwanie dostępu do elementów JSON
- 11. Uzyskiwanie dostępu do zasobów JAR
- 12. uzyskiwanie dostępu do rekordów OCaml
- 13. Uzyskiwanie dostępu do podzbiorów należących do agregatów
- 14. Odmowa dostępu do projektu za pomocą Eclipse
- 15. dodawanie elementów do projektu Visual C# (Express 2010) bez kopiowania ich do folderu projektu
- 16. Odmów dostępu do określonego folderu w .htaccess
- 17. Uzyskiwanie dostępu do bufora ramki OSX 10.7
- 18. Uzyskiwanie dostępu do modeli w migracji alembików
- 19. Uzyskiwanie dostępu do usługi wirtualnej skrzynki internetowej
- 20. Uzyskiwanie dostępu do modelu z szablonu
- 21. Uzyskiwanie dostępu do ResourceDictionary z WPF UserControl
- 22. Uzyskiwanie dostępu do komórek DataGridView przez biały
- 23. Uzyskiwanie dostępu do pól z obiektu Proxied
- 24. Uzyskiwanie dostępu do pliku JSON.stringify z węzłów node.js C++
- 25. Uzyskiwanie dostępu do rozszerzenia Swift z Objective-C
- 26. Uzyskiwanie dostępu do metod z innej klasy w C#
- 27. git clone bez folderu projektu
- 28. Uzyskiwanie dostępu do plików FTP ze Scala
- 29. Uzyskiwanie dostępu do opcji JMX przez HTTP
- 30. uzyskiwanie dostępu do wektora od tyłu
Spójrz na to pytanie http://stackoverflow.com/questions/154262/example-code-required-for-how-to-access-embedded-net-image-resources-in-c – IordanTanev