szybkie ładowanie zdjęć

0

Witam,
mam formę z dataGridView przechowującą datę i godzinę alarmu
nrID | DATA | GODZINA |
i PictureBoxem

na dysku mam katalogi C:\Zdjęcia\NR CAM\ROK\Miesiąc\DDHHMMSS.jpg
w których przechowywane są zdjęcia zarejestrowane z kamery gdy wystąpił alarm
gdy wystąpi alarm w odpowiednim katalogu zapisywanych jest 3-5 zdjęć
zadanie polega na tym aby po kliknięciu na wiersz w DGV jak najszybciej załadowało się zdjęcie zrobione o czasie najbardziej zbliżonym do daty i godziny w danym wierszu

z góry bardzo dziękuję za pomoc

0

pictureBox1.Image = new Bitmap(@"C:\Zdjęcia\NR CAM\ROK\Miesiąc\DDHHMMSS.jpg");

0

samo ładowanie - ok nie ma problemu
ale jaką metodę stworzyć aby przeszukanie folderów było jak najszybsze
pojawienie się zdjęcia (rozdzielczość 800x600, w pomniejszonym oknie) nie powinno trwać dłużej jak 1 sek

0

ale w jakim sensie przeszukiwanie?? Nie wiesz jak się plik nazywa, który chcesz załadować?

0

Użyj Directory.GetFiles z searchPatterns
System.IO.Directory.GetFiles(@"C:\Zdjęcia\NR CAM\ROK\Miesiąc\", "DDHH*");
Oczywiście za rok, miesiac, dd i hh wstawijąc odpowiednie wartości. Dostaniesz wszystkie zdjęcia wykonane danego dnia w danej godzinie jako tablicę stringów. Następnie lecisz przez tablicę i sprawdzasz minuty i sekundy żeby znaleźć najbliższy do twojej daty. Ewentualnie do search patterns możesz też włączyć minuty. Ale nie wiem od daty w wierszu jak bardzo różnią się daty zrobienia zdjęć.

0

dzięki massther
bardzo ciekawe rozwiązanie
na pewno muszę do patterns murze dodać minuty ponieważ w ekstremalnych przypadkach będzie 1 zdjęcie/sek a raz w roku gdy następuje cofnięcie czasu może być ich więcej
dlatego zależy mi na jak najszybszym wyszukaniu i załadowaniu konkretnego zdjęcia z przedziału: np. czas z DGV ( -3sek,+3sek

0

założenia się trochę zmieniły
muszę pobierać zdjęcia które maja wartość sekund -2, -1, wystąpienie alarmu, +1, +2 i wyświetlać pierwsze z nich (-2)
należy wziąć pod uwagę że nie zawsze musi być 5 plików

doczytałem że funkcja zawiera metodę Where
System.IO.Directory.GetFiles(path).Where<>
czy da się ją użyć w moim przypadku
jeśli nie to proszę bardzo o wskazówki

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