protected override void OnStateChange() { if (State == State.SetDefaults) { Name = "SampleDrawBitmap"; Calculate = Calculate.OnBarClose; IsOverlay = true; ScaleJustification = NinjaTrader.Gui.Chart.ScaleJustification.Right; IsSuspendedWhileInactive = true; } else if (State == State.Terminated) { if (myBitmap != null) { myBitmap.Dispose(); } if (fileStream != null) { fileStream.Dispose(); } if (bitmapDecoder != null) { bitmapDecoder.Dispose(); } if (converter != null) { converter.Dispose(); } if (frame != null) { frame.Dispose(); } } }
protected override void OnStateChange() { if (State == State.SetDefaults) { Name = "SampleDrawBitmapFun"; Calculate = Calculate.OnBarClose; IsOverlay = true; ScaleJustification = NinjaTrader.Gui.Chart.ScaleJustification.Right; IsSuspendedWhileInactive = true; } else if (State == State.DataLoaded) { if (ChartControl != null) { ChartPanel.MouseMove += new System.Windows.Input.MouseEventHandler(ChartControl_MouseMove); } } else if (State == State.Terminated) { if (myBitmap != null) { myBitmap.Dispose(); } if (fileStream != null) { fileStream.Dispose(); } if (bitmapDecoder != null) { bitmapDecoder.Dispose(); } if (converter != null) { converter.Dispose(); } if (frame != null) { frame.Dispose(); } if (ChartControl != null) { ChartPanel.MouseMove -= new System.Windows.Input.MouseEventHandler(ChartControl_MouseMove); } if (RenderTarget != null) { RenderTarget.Transform = Matrix3x2.Identity; } } }
private void LoadBitmap(RenderTarget device, byte[] bytes) { var stream = new MemoryStream(bytes); SharpDX.WIC.BitmapDecoder decoder = new SharpDX.WIC.BitmapDecoder(ImagingFactory, stream, SharpDX.WIC.DecodeOptions.CacheOnDemand); var frame = decoder.GetFrame(0); SharpDX.WIC.FormatConverter converter = new SharpDX.WIC.FormatConverter(ImagingFactory); try { // normal ARGB images (Bitmaps / png tested) converter.Initialize(frame, SharpDX.WIC.PixelFormat.Format32bppRGBA1010102); } catch { // falling back to RGB if unsupported converter.Initialize(frame, SharpDX.WIC.PixelFormat.Format32bppRGB); } SharpDXBitmap = Bitmap.FromWicBitmap(device, converter); converter.Dispose(); frame.Dispose(); decoder.Dispose(); stream.Dispose(); }
public void Dispose() { Direct2DResourceManager.OnResourceDestroy(this); if (Texture2D != null) { Texture2D.Dispose(); Texture2D = null; } if (fConverter != null) { fConverter.Dispose(); fConverter = null; } if (BFDecorde != null) { BFDecorde.Dispose(); BFDecorde = null; } if (BitDecorder != null) { BitDecorder.Dispose(); BitDecorder = null; } if (MemStream != null) { MemStream.Dispose(); MemStream = null; } }
public static void LoadFromTiff(SharpDX.WIC.ImagingFactory imagingFactory, UnmanagedImage image, string filename, int bytesPerPixel) { // TODO: this function is more generic; rewrite to handle different formats/bytesPerPixel var decoder = new SharpDX.WIC.BitmapDecoder(imagingFactory, filename, SharpDX.WIC.DecodeOptions.CacheOnLoad); var bitmapFrameDecode = decoder.GetFrame(0); bitmapFrameDecode.CopyPixels(image.Width * bytesPerPixel, image.DataIntPtr, image.Width * image.Height * bytesPerPixel); bitmapFrameDecode.Dispose(); decoder.Dispose(); }
private void LoadBitmap(RenderTarget device, byte[] bytes) { if (device == null) { throw new ArgumentNullException(nameof(device)); } if (bytes == null) { throw new ArgumentNullException(nameof(bytes)); } try { var stream = new MemoryStream(bytes); SharpDX.WIC.BitmapDecoder decoder = new SharpDX.WIC.BitmapDecoder(ImagingFactory, stream, SharpDX.WIC.DecodeOptions.CacheOnDemand); var frame = decoder.GetFrame(0); SharpDX.WIC.FormatConverter converter = new SharpDX.WIC.FormatConverter(ImagingFactory); try { // normal ARGB images (Bitmaps / png tested) converter.Initialize(frame, SharpDX.WIC.PixelFormat.Format32bppRGBA1010102); } catch { // falling back to RGB if unsupported converter.Initialize(frame, SharpDX.WIC.PixelFormat.Format32bppRGB); } SharpDXBitmap = Bitmap.FromWicBitmap(device, converter); converter.Dispose(); frame.Dispose(); decoder.Dispose(); stream.Dispose(); } catch (Exception ex) { throw new FormatException("Invalid or unsupported image format!", ex); } }