Pobieranie obrazka z obecnej lokalizcji

0

Witam, mam problem z wczytaniem obrazka z obecnej lokalizacji do pictureboxa za pomocą metody Image.FromFile. Program często będzie zmieniał lokalizację, więc nie mogę pozwolić sobie na dodanie sztywnej ścieżki.
Fragment mojego kodu odpowiedzialny za wczytywanie wygląda tak:

pb_obrazWe.Image = Image.FromFile("Obrazy testowe/fig.bmp");

screenshot-20170514144606.png
Jestem bardzo początkujący, więc proszę o "łopatologiczne" wyjaśnienia :D

0

Scieżke można zapisać np do stringa, potem sprawdzic czy istnieje. (system.io.file.exists(tu parametr))
To Ci zwróci czy plik istenieje.
Jednak... mimo tego polecałbym "dotykanie" plików z try z uwagi z plik moze istnieć a wystapi problem np z uprawnieniami, albo problem sprzetowy w trakcie (np wyjecie usb)..

Poza tym, nie uzywałbym do konstrukcji scieżek znaków / czy \ tylko albo uzywac Path.Combine albo wykorzystywac separatory (katalogow, partycji, ścieżek).
I ile / w nowych win przejdzie to np separator sciezek jest zupenie inny(tak jak sep partycji).

Tak samo jak znak nowej lini. Nie zadne \n.tylko Environment.NewLine.

Czesto widze wstawianie / albo \ u senior programistow ;)
A potem problemy i tracenie czasu przy korzystaniu z logiki aby ja użyć w Xamarinie czy Unity na wiele platofm.

0

W sumie zapomniałem dopisać (nie wiem czy to coś zmieni)- przy otwieraniu korzystałem z tego:

openFileDialog.InitialDirectory = Directory.GetCurrentDirectory() + "\\Obrazy testowe";

i próbowałem jakoś analogicznie wpiąć jakiś obrazek na starcie z folderu należącego do tego, gdzie jest projekt. Nie ma na to jakiegoś prostego sposobu?

0

Problem rozwiązałem przez dodanie obrazka do resources, a później:

pictureBox1.Image = Properties.Resources.myImage;

Dzięki za odpowiedzi
Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1