public VirtualPixel1D3(int pixels, [System.Runtime.CompilerServices.CallerMemberName] string name = "")
: base(name)
{
if (pixels <= 0)
throw new ArgumentOutOfRangeException("pixels");
this.pixelCount = pixels;
this.devices = new List<PixelDevice>();
this.outputData.Subscribe(x =>
{
Output();
});
Executor.Current.Blackout.Subscribe(_ => Output());
Executor.Current.Whiteout.Subscribe(_ => Output());
this.imageChanged = new Subject<Bitmap>();
this.outputBitmap = GetBitmap();
this.output = Graphics.FromImage(this.outputBitmap);
this.outputRectangle = new Rectangle(0, 0, this.outputBitmap.Width, this.outputBitmap.Height);
this.brightnessMatrix = new ColorMatrix(new float[][]{
new float[] {1, 0, 0, 0, 0},
new float[] {0, 1, 0, 0, 0},
new float[] {0, 0, 1, 0, 0},
new float[] {0, 0, 0, 1, 0},
new float[] {0.5f, 0.5f, 0.5f, 1, 1}
});
}