public async Task Render_SimpleRoundedRect_Filled_RadialGradient() { await TestUtilities.InitializeWithGraphicsAsync(); using (var radialGradientBrush = new RadialGradientBrushResource( new Vector2(200f, 400f), new Vector2(0f, 0f), 200f, 400f, new[] { new GradientStop { Color = Color4.Gray, Position = 0f }, new GradientStop { Color = Color4.White, Position = 0.6f }, new GradientStop { Color = Color4.BlueColor, Position = 1f } })) using (var memRenderTarget = new MemoryRenderTarget(1024, 1024)) { // Perform rendering memRenderTarget.ClearColor = Color4.CornflowerBlue; await memRenderTarget.RenderLoop.Register2DDrawingLayerAsync(graphics => { // 2D rendering is made here graphics.FillRoundedRectangle( new RectangleF(10, 10, 900, 900), 30, 30, radialGradientBrush); }); await memRenderTarget.AwaitRenderAsync(); // Take screenshot var screenshot = await memRenderTarget.RenderLoop.GetScreenshotGdiAsync(); // TestUtilities.DumpToDesktop(screenshot, "Blub.png"); // Calculate and check difference var diff = BitmapComparison.CalculatePercentageDifference( screenshot, TestUtilities.LoadBitmapFromResource("Drawing2D", "SimpleRoundedRectFilled_RadialGradient.png")); Assert.IsTrue(diff < 0.2, "Difference to reference image is to big!"); } }
public async Task Render_SimpleRoundedRect_Filled_RadialGradient() { await UnitTestHelper.InitializeWithGrahicsAsync(); using (RadialGradientBrushResource radialGradientBrush = new RadialGradientBrushResource( new Vector2(200f, 400f), new Vector2(0f, 0f), 200f, 400f, new GradientStop[] { new GradientStop(Color4.Gray, 0f), new GradientStop(Color4.White, 0.6f), new GradientStop(Color4.BlueColor, 1f) }, extendMode: ExtendMode.Clamp)) using (MemoryRenderTarget memRenderTarget = new MemoryRenderTarget(1024, 1024)) { // Perform rendering memRenderTarget.ClearColor = Color4.CornflowerBlue; await memRenderTarget.RenderLoop.Register2DDrawingLayerAsync((graphics) => { // 2D rendering is made here graphics.FillRoundedRectangle( new RectangleF(10, 10, 900, 900), 30, 30, radialGradientBrush); }); await memRenderTarget.AwaitRenderAsync(); // Take screenshot GDI.Bitmap screenshot = await memRenderTarget.RenderLoop.GetScreenshotGdiAsync(); // screenshot.DumpToDesktop("Blub.png"); // Calculate and check difference float diff = BitmapComparison.CalculatePercentageDifference( screenshot, Properties.Resources.ReferenceImage_SimpleRoundedRectFilled_RadialGradient); Assert.True(diff < 0.2, "Difference to reference image is to big!"); } }