Beispiel #1
0
        public void Test_FillRule()
        {
            using (IMagickImage image = new MagickImage(MagickColors.SkyBlue, 100, 60))
            {
                Assert.AreEqual(FillRule.EvenOdd, image.Settings.FillRule);

                image.Settings.FillRule    = FillRule.Nonzero;
                image.Settings.FillColor   = MagickColors.White;
                image.Settings.StrokeColor = MagickColors.Black;
                image.Draw(new DrawablePath(
                               new PathMoveToAbs(40, 10),
                               new PathLineToAbs(20, 20),
                               new PathLineToAbs(70, 50),
                               new PathClose(),
                               new PathMoveToAbs(20, 40),
                               new PathLineToAbs(70, 40),
                               new PathLineToAbs(90, 10),
                               new PathClose()));

                ColorAssert.AreEqual(MagickColors.White, image, 50, 30);
            }
        }
                public void ShouldCopyTheAlphaChannelWithCopyAlpha()
                {
                    var readSettings = new MagickReadSettings()
                    {
                        BackgroundColor = MagickColors.None,
                        FillColor       = MagickColors.White,
                        FontPointsize   = 100,
                    };

                    using (IMagickImage image = new MagickImage("label:Test", readSettings))
                    {
                        using (IMagickImage alpha = image.Clone())
                        {
                            alpha.Alpha(AlphaOption.Extract);
                            alpha.Shade(130, 30);
                            alpha.Composite(image, CompositeOperator.CopyAlpha);

                            ColorAssert.AreEqual(new MagickColor("#7fff7fff7fff0000"), alpha, 0, 0);
                            ColorAssert.AreEqual(new MagickColor("#7fff7fff7fffffff"), alpha, 30, 30);
                        }
                    }
                }
Beispiel #3
0
        public void Test_ComplementaryColor()
        {
            ColorRGB color         = MagickColors.Red;
            ColorRGB complementary = color.ComplementaryColor();

            ColorAssert.AreEqual(MagickColors.Aqua, complementary);

            color         = MagickColors.Lime;
            complementary = color.ComplementaryColor();
            ColorAssert.AreEqual(MagickColors.Fuchsia, complementary);

            color         = MagickColors.Black;
            complementary = color.ComplementaryColor();
            ColorAssert.AreEqual(MagickColors.Black, complementary);

            color         = MagickColors.White;
            complementary = color.ComplementaryColor();
            ColorAssert.AreEqual(MagickColors.White, complementary);

            color         = new MagickColor("#aabbcc");
            complementary = color.ComplementaryColor();
            ColorAssert.AreEqual(new MagickColor("#ccbbaa"), complementary);

            color         = new MagickColor(4, 1, 3);
            complementary = color.ComplementaryColor();
            ColorAssert.AreEqual(new MagickColor(1, 4, 1), complementary);

            color         = new MagickColor("#9aa01e");
            complementary = color.ComplementaryColor();
#if Q8
            ColorAssert.AreEqual(new MagickColor("#231ea0"), complementary);
#elif Q16 || Q16HDRI
            ColorAssert.AreEqual(new MagickColor("#24231e1ea0a0"), complementary);
#else
#error Not implemented!
#endif
        }
Beispiel #4
0
        public async Task When_SelectedItem_Set_Before_Load_And_Theme_Changed()
        {
            using (StyleHelper.UseFluentStyles())
            {
                var navView = new Microsoft.UI.Xaml.Controls.NavigationView()
                {
                    MenuItems =
                    {
                        new Microsoft.UI.Xaml.Controls.NavigationViewItem {
                            Content = "Item 1"
                        },
                        new Microsoft.UI.Xaml.Controls.NavigationViewItem {
                            Content = "Item 2"
                        },
                        new Microsoft.UI.Xaml.Controls.NavigationViewItem {
                            Content = "Item 3"
                        },
                    },
                    PaneDisplayMode     = Microsoft.UI.Xaml.Controls.NavigationViewPaneDisplayMode.LeftMinimal,
                    IsBackButtonVisible = Microsoft.UI.Xaml.Controls.NavigationViewBackButtonVisible.Collapsed,
                };
                navView.SelectedItem = navView.MenuItems[1];
                var hostGrid = new Grid()
                {
                    MinWidth = 20, MinHeight = 20
                };

                WindowHelper.WindowContent = hostGrid;

                await WindowHelper.WaitForLoaded(hostGrid);

                hostGrid.Children.Add(navView);

                await WindowHelper.WaitForLoaded(navView);

                navView.IsPaneOpen = true;

                await WindowHelper.WaitForIdle();

                var togglePaneButton = navView.FindFirstChild <Button>(b => b.Name == "TogglePaneButton");
                var icon             = togglePaneButton?.FindFirstChild <FrameworkElement>(f => f.Name == "Icon");
                var iconTextBlock    = icon?.FindFirstChild <TextBlock>(includeCurrent: true);

                Assert.IsNotNull(iconTextBlock);

                ColorAssert.IsDark((iconTextBlock.Foreground as SolidColorBrush)?.Color);
                using (ThemeHelper.UseDarkTheme())
                {
                    await WindowHelper.WaitForIdle();

                    Assert.AreEqual(Colors.White, (iconTextBlock.Foreground as SolidColorBrush)?.Color);
                    ColorAssert.IsLight((iconTextBlock.Foreground as SolidColorBrush)?.Color);
#if __ANDROID__
                    // This is the meat of the test - we verify that the actual color of the TextBlock matches the managed Color, which will only be the
                    // case if it was correctly measured and arranged as requested after the theme changed.
                    Assert.AreEqual(false, iconTextBlock.IsLayoutRequested);
                    Assert.AreEqual((Android.Graphics.Color)((iconTextBlock.Foreground as SolidColorBrush).Color), iconTextBlock.NativeArrangedColor);
#endif
                }
            }
        }
Beispiel #5
0
            public void Constructor_WithColor_ColorPropertyIsCorrect()
            {
                DrawableFillColor fillColor = new DrawableFillColor(Color.DarkKhaki);

                ColorAssert.AreEqual(MagickColors.DarkKhaki, fillColor.Color);
            }
Beispiel #6
0
        public void ConvertWithString_TypeIsMagickColor_ReturnsValue()
        {
            MagickColor value = MagickConverter.Convert <MagickColor>("#fff");

            ColorAssert.AreEqual(MagickColors.White, value);
        }
Beispiel #7
0
            public void ShouldSetTheProperties()
            {
                DrawableStrokeColor strokeColor = new DrawableStrokeColor(Color.GhostWhite);

                ColorAssert.AreEqual(MagickColors.GhostWhite, strokeColor.Color);
            }
        public void Constructor_WithColor_ColorPropertyIsCorrect()
        {
            DrawableBorderColor borderColor = new DrawableBorderColor(Color.GreenYellow);

            ColorAssert.AreEqual(MagickColors.GreenYellow, borderColor.Color);
        }
Beispiel #9
0
        public void ShouldCreateCorrectColorWhenUsingSystemDrawingColor()
        {
            ColorRGB fuchsia = new ColorRGB(Color.Fuchsia);

            ColorAssert.AreEqual(fuchsia, MagickColors.Fuchsia);
        }
Beispiel #10
0
            public void ShouldSetTheProperties()
            {
                DrawableTextUnderColor textUnderColor = new DrawableTextUnderColor(Color.Violet);

                ColorAssert.AreEqual(MagickColors.Violet, textUnderColor.Color);
            }
Beispiel #11
0
        public void Constructor_WithColor_ColorPropertyIsCorrect()
        {
            DrawableStrokeColor strokeColor = new DrawableStrokeColor(Color.GhostWhite);

            ColorAssert.AreEqual(MagickColors.GhostWhite, strokeColor.Color);
        }
Beispiel #12
0
        public void Constructor_WithColor_ColorPropertyIsCorrect()
        {
            DrawableTextUnderColor textUnderColor = new DrawableTextUnderColor(Color.Violet);

            ColorAssert.AreEqual(MagickColors.Violet, textUnderColor.Color);
        }
Beispiel #13
0
            public void ShouldSetTheProperties()
            {
                DrawableBorderColor borderColor = new DrawableBorderColor(Color.GreenYellow);

                ColorAssert.AreEqual(MagickColors.GreenYellow, borderColor.Color);
            }