private IRasterProvider createProviderInstance() { if (_parameters == null) { throw new InvalidOperationException("Parameter values not set"); } InMemoryRasterProvider provider = null; string filename = _parameters["file_name"]; if (_rpoviders.ContainsKey(filename)) { provider = _rpoviders[filename]; if (provider.Bitmap != null) { bool bitmapIsOk = true; try { int h = provider.Bitmap.Height; } catch (ObjectDisposedException) { bitmapIsOk = false; } if (bitmapIsOk) { return(provider); } } } _rpoviders.Remove(filename); provider = new InMemoryRasterProvider(); if (File.Exists(filename)) { provider.Bitmap = (Bitmap)System.Drawing.Image.FromFile(_parameters["file_name"]); _rpoviders.Add(filename, provider); } else { throw new FileNotFoundException(_parameters["file_name"]); } return(provider); }
private IRasterProvider createProviderInstance() { if (_parameters == null) throw new InvalidOperationException("Parameter values not set"); InMemoryRasterProvider provider = null; string filename = _parameters["file_name"]; if(_rpoviders.ContainsKey(filename)) { provider = _rpoviders[filename]; if(provider.Bitmap != null) { bool bitmapIsOk = true; try { int h = provider.Bitmap.Height; } catch(ObjectDisposedException) { bitmapIsOk = false; } if (bitmapIsOk) return provider; } } _rpoviders.Remove(filename); provider = new InMemoryRasterProvider(); if (File.Exists(filename)) { provider.Bitmap = (Bitmap)System.Drawing.Image.FromFile(_parameters["file_name"]); _rpoviders.Add(filename, provider); } else throw new FileNotFoundException(_parameters["file_name"]); return provider; }