Diskuze: C# načtení Image do paměti.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
A pro jakou platformu hledáš řešení? Ve všech to funguje naprosto totožně, otevřeš soubor, přečteš a pokud ho chceš použít jinde nebo smazat, tak ho musíš zavřít.
Tak to funguje ať ve WPF tak v C++
Dělám ve WFA. A budu moci nadále pracovat s tím souborem i po zavření?
Se souborem fyzicky ne od toho to zavření je, ale s jeho daty, která si načteš někam ano.
Tak jak máš ten kód teď, tak je to špatně. V případě, že sleže při čtení souboru tak to skočí do catch a soubor se nezavře. Doporučuju použít using (nebo zavírat ve finaly).
Pokud to myslíš tak, že chceš pracovat s obrázkem takto stačí udělat třeba takto:
static Image LoadImageFromFile(string filename)
{
using (FileStream stream = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read))
{
return Image.FromStream(stream);
}
}
private Image _image; //tady můžeš mít uložený obrázek po celou dobu chodu aplikace
private void LoadPicture(string filename)
{
try
{
Image img = LoadImageFromFile(filename);
//tady už můžeš soubor smazat
_image = img; //
}
catch(Exception ex)
{
MessageBox.Show(ex.Message, "Chyba");
}
}
//kód jsem psal bez visual studia, takže tam může být nějaká chybka
Zobrazeno 5 zpráv z 5.