public WriteableBitmap GetBitmap(IBitmapChannel bitmapChannel, IGraphicsGetter graphicsGetter) { const int dpi = 96; var writeableBitmap = new WriteableBitmap(800, 600, dpi, dpi, PixelFormats.Bgr32, null); writeableBitmap.Lock(); var bitmap = new Bitmap(writeableBitmap.PixelWidth, writeableBitmap.PixelHeight, writeableBitmap.BackBufferStride, PixelFormat.Format32bppPArgb, writeableBitmap.BackBuffer); using (var graphics = graphicsGetter.FromImage(bitmap)) { graphics.Clear(System.Drawing.Color.White); DrawCurves(bitmapChannel.Curves, graphics); DrawPoints(bitmapChannel.AnchorLines, graphics); } var dirtyRect = new Int32Rect(0, 0, (int)writeableBitmap.Width, (int)writeableBitmap.Height); writeableBitmap.AddDirtyRect(dirtyRect); writeableBitmap.Unlock(); return(writeableBitmap); }
public BitmapDrawerTests() { _bitmapChannel = MockRepository.GenerateStub <IBitmapChannel>(); _graphicsGetter = MockRepository.GenerateStub <IGraphicsGetter>(); _graphics = MockRepository.GenerateStub <Graphics>(); _graphicsGetter.Stub(x => x.FromImage(null)).IgnoreArguments().Return(_graphics); _target = new BitmapDrawer(); }
public SplinesController(ISelectedAnchorPointGetter selectedAnchorPointGetter, ISplineControllerFactory splineControllerFactory, ILineInterpolator lineInterpolator) { _selectedAnchorPointGetter = selectedAnchorPointGetter; _lineInterpolator = lineInterpolator; SplineSettingsController = splineControllerFactory.Get(UpdateBitmapChannel); BitmapChannel = new BitmapChannel(); ResetAnchorLines(); ResetParameters(); }