/// <summary> /// load image to the reader/writer /// </summary> /// <param name="actualImage"></param> public void ReloadImage(ActualImage actualImage) { if (this.actualImage == actualImage) { return; } //in this version we support actual images //in 2 formats : //1. 32 bits ARGB //2. 8 bits gray scale // this.actualImage = actualImage; switch (actualImage.PixelFormat) { case PixelFormat.ARGB32: { Attach(actualImage.Width, actualImage.Height, actualImage.BitDepth, ActualImage.GetBuffer(actualImage), pixelBlenderRGBA ?? (pixelBlenderRGBA = new PixelBlenderBGRA())); } break; case PixelFormat.GrayScale8: { Attach(actualImage.Width, actualImage.Height, actualImage.BitDepth, ActualImage.GetBuffer(actualImage), pixelBlenderGray ?? (pixelBlenderGray = new PixelBlenderGray(1))); } break; default: { throw new NotSupportedException(); } } }
public void ReloadImage(ActualImage actualImage) { if (this.actualImage == actualImage) { return; } this.actualImage = actualImage; //calculate image stride switch (actualImage.PixelFormat) { case PixelFormat.ARGB32: { Attach(actualImage.Width, actualImage.Height, actualImage.BitDepth, ActualImage.GetBuffer(actualImage), pixelBlenderRGBA ?? (pixelBlenderRGBA = new PixelBlenderBGRA())); //Attach(actualImage.Width, // actualImage.Height, // actualImage.BitDepth, // ActualImage.GetBuffer(actualImage), // pixelBlenderRGBA ?? (pixelBlenderRGBA = new PixelBlenderGammaBGRA(0.8f))); } break; case PixelFormat.GrayScale8: { Attach(actualImage.Width, actualImage.Height, actualImage.BitDepth, ActualImage.GetBuffer(actualImage), pixelBlenderGray ?? (pixelBlenderGray = new PixelBlenderGray(1))); } break; case PixelFormat.RGB24: default: { throw new NotSupportedException(); } } }