Ejemplo n.º 1
0
        private static void testConvertHSB(float h, float s, float b, int R, int G, int B)
        {
            Color  actual   = ColorBuilder.ConvertHSBToColor(h, s, b);
            Color  expected = Color.FromArgb(255, R, G, B);
            String message  = String.Format("Colors converting ({0:F2}, {1:F2}, {2:F2}) don't match", h, s, b);

            Assert.AreEqual(expected, actual, message);
        }
Ejemplo n.º 2
0
        /// <include file='doc\BordersPage.uex' path='docs/doc[@for="BordersPage.OnClickColorPicker"]/*' />
        /// <devdoc>
        ///   Invokes the color picker to pick the grid color.
        /// </devdoc>
        private void OnClickColorPicker(object source, EventArgs e)
        {
            string color = borderColorCombo.Color;

            color = ColorBuilder.BuildColor(GetBaseControl(), this, color);
            if (color != null)
            {
                borderColorCombo.Color = color;
                OnBordersChanged(borderColorCombo, EventArgs.Empty);
            }
        }
Ejemplo n.º 3
0
        private void OnClickForeColorPicker(object source, EventArgs e)
        {
            string color = this.foreColorCombo.Color;

            color = ColorBuilder.BuildColor(base.GetBaseControl(), this, color);
            if (color != null)
            {
                this.foreColorCombo.Color = color;
                this.OnFormatChanged(this.foreColorCombo, EventArgs.Empty);
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnSuggestColors(object sender, EventArgs e)
        {
            Color forwardColor, backwardColor;

            ColorBuilder.SuggestColors(data.ReferenceColor1, data.ReferenceColor2, out forwardColor, out backwardColor);

            data.ForwardColor  = forwardColor;
            data.BackwardColor = backwardColor;
            data.AutoColors    = false;

            dataBindingSource.ResetCurrentItem();
        }
Ejemplo n.º 5
0
        public static void DrawTextBoxes <TPixel>(Image <TPixel> image, Font font, IEnumerable <TextBox> boxes) where TPixel : struct, IPixel <TPixel>
        {
            image.Mutate(context =>
            {
                foreach (var box in boxes)
                {
                    var boxBounds = new RectangleF(
                        x: (float)(image.Width * box.X / 100),
                        y: (float)(image.Height * box.Y / 100),
                        width: (float)(image.Width * box.Width / 100),
                        height: (float)(image.Height * box.Height / 100)
                        );
                    var scaledFont = ScaleFont(new Font(font, image.Height / 8), box.Text, boxBounds.Width - 2 * outlineSize, boxBounds.Height - 2 * outlineSize);
                    var wrapWidth  = ScaleWidth(scaledFont, box.Text, boxBounds.Width - 2 * outlineSize);
                    var lineColor  = ColorBuilder <TPixel> .FromRGBA(box.LineColor.R, box.LineColor.G, box.LineColor.B, box.LineColor.A);
                    var fillColor  = ColorBuilder <TPixel> .FromRGBA(box.FillColor.R, box.FillColor.G, box.FillColor.B, box.FillColor.A);
                    var pen        = Pens.Solid(lineColor, 3f);
                    var brush      = Brushes.Solid(fillColor);

                    var textBounds = TextMeasurer.MeasureBounds(box.Text, new RendererOptions(scaledFont)
                    {
                        WrappingWidth       = wrapWidth,
                        HorizontalAlignment = ConvertHorizontalAlignment(box.Horizontal),
                    });

                    var drawLocation = GetLocation(box, boxBounds, textBounds);

                    // draw outline
                    context.DrawText(
                        new TextGraphicsOptions(true)
                    {
                        WrapTextWidth       = wrapWidth,
                        HorizontalAlignment = ConvertHorizontalAlignment(box.Horizontal),
                    },
                        box.Text,
                        scaledFont,
                        pen,
                        drawLocation);

                    // draw fill
                    context.DrawText(new TextGraphicsOptions(true)
                    {
                        WrapTextWidth       = wrapWidth,
                        HorizontalAlignment = ConvertHorizontalAlignment(box.Horizontal),
                    },
                                     box.Text,
                                     scaledFont,
                                     brush,
                                     drawLocation);
                }
            });
        }
Ejemplo n.º 6
0
        /// <inheritdoc/>
        public override object ConvertFrom(CultureInfo culture, string value, Type propertyType)
        {
            if (string.IsNullOrWhiteSpace(value))
            {
                return(base.ConvertFrom(culture, value, propertyType));
            }

            // Special case. HTML requires LightGrey, but NamedColors has LightGray to conform with System.Drawing
            // Check early on.
            if (value.Equals("LightGrey", StringComparison.OrdinalIgnoreCase))
            {
                return(Rgba32.LightGray);
            }

            // Numeric r,g,b - r,g,b,a
            char separator = culture.TextInfo.ListSeparator[0];

            if (value.Contains(separator.ToString()))
            {
                string[] components = value.Split(separator);

                bool convert = true;
                foreach (string component in components)
                {
                    if (!NumberRegex.IsMatch(component))
                    {
                        convert = false;
                    }
                }

                if (convert)
                {
                    List <byte> rgba = CommandParser.Instance.ParseValue <List <byte> >(value);

                    return(rgba.Count == 4
                        ? ColorBuilder <Rgba32> .FromRGBA(rgba[0], rgba[1], rgba[2], rgba[3])
                        : ColorBuilder <Rgba32> .FromRGB(rgba[0], rgba[1], rgba[2]));
                }
            }

            // Hex colors rgb, rrggbb, rrggbbaa
            if (HexColorRegex.IsMatch(value))
            {
                return(Rgba32.FromHex(value));
            }

            // Named colors
            IDictionary <string, Rgba32> table = ColorConstantsTable.Value;

            return(table.ContainsKey(value) ? table[value] : base.ConvertFrom(culture, value, propertyType));
        }
 public static void ToImage(this MatrixData input, string fileName)
 {
     using (Image <Rgba32> image = new Image <Rgba32>(input.NumberOfRows, input.NumberOfColumns))
     {
         for (int r = 0; r < input.NumberOfRows; r++)
         {
             for (int c = 0; c < input.NumberOfColumns; c++)
             {
                 byte b = byte.Parse(((double)input[r, c]).ToString());
                 image[r, c] = ColorBuilder <Rgba32> .FromRGB(b, b, b);
             }
         }
         image.SaveAsBmp(File.OpenWrite(fileName));
     }
 }
Ejemplo n.º 8
0
        protected override void OnModelCreating(ModelBuilder builder)
        {
            base.OnModelCreating(builder);
            foreach (var property in builder.Model.GetEntityTypes().SelectMany(t => t.GetProperties()).Where(p => p.ClrType == typeof(decimal)))
            {
                property.Relational().ColumnType = "decimal(18, 2)";
            }
            var brandBuilder            = new BrandBuilder(builder.Entity <Brand>());
            var colorBuilder            = new ColorBuilder(builder.Entity <Color>());
            var fileBuilder             = new FileBuilder(builder.Entity <File>());
            var languageBuilder         = new LanguageBuilder(builder.Entity <Language>());
            var pageBuilder             = new PageBuilder(builder.Entity <Page>());
            var postBuilder             = new PostBuilder(builder.Entity <Post>());
            var postCategoryBuilder     = new PostCategoryBuilder(builder.Entity <PostCategory>());
            var postPostCategoryBuilder = new PostPostCategoryBuilder(builder.Entity <PostPostCategory>());
            var productBuilder          = new ProductBuilder(builder.Entity <Product>());
            var productCategoryBuilder  = new ProductCategoryBuilder(builder.Entity <ProductCategory>());
            var productColorBuilder     = new ProductColorBuilder(builder.Entity <ProductColor>());
            var productPhotoBuilder     = new ProductPhotoBuilder(builder.Entity <ProductPhoto>());
            var reviewBuilder           = new ReviewBuilder(builder.Entity <Review>());
            var slideBuilder            = new SlideBuilder(builder.Entity <Slide>());
            var sliderBuilder           = new SliderBuilder(builder.Entity <Slider>());
            var advertisementBuilder    = new AdvertisementBuilder(builder.Entity <Advertisement>());
            var storeBuilder            = new StoreBuilder(builder.Entity <Store>());
            var storeBrandBuilder       = new StoreBrandBuilder(builder.Entity <StoreBrand>());
            var wishlistBuilder         = new WishlistBuilder(builder.Entity <Wishlist>());
            var orderBuilder            = new OrderBuilder(builder.Entity <Order>());
            var orderItemBuilder        = new OrderItemBuilder(builder.Entity <OrderItem>());
            var addressBuilder          = new AddressBuilder(builder.Entity <Address>());
            var cityBuilder             = new CityBuilder(builder.Entity <City>());
            var countryBuilder          = new CountryBuilder(builder.Entity <Country>());
            var couponBuilder           = new CouponBuilder(builder.Entity <Coupon>());
            var districtBuilder         = new DistrictBuilder(builder.Entity <District>());
            var productQuestionBuilder  = new ProductQuestionBuilder(builder.Entity <ProductQuestion>());
            var questionCategoryBuilder = new QuestionCategoryBuilder(builder.Entity <QuestionCategory>());
            var shipperBuilder          = new ShipperBuilder(builder.Entity <Shipper>());
            var cartBuilder             = new CartBuilder(builder.Entity <Cart>());
            var cartItemBuilder         = new CartItemBuilder(builder.Entity <CartItem>());

            // data seeding
            ApplicationDbContextSeed.Seed(builder);
        }
Ejemplo n.º 9
0
 private static string ColorToMarkup(Color color)
 {
     if (ColorBuilder == null)
     {
         ColorBuilder = new StringBuilder();
     }
     lock (ColorBuilder)
     {
         var r = (int)(color.r * 255);
         var g = (int)(color.g * 255);
         var b = (int)(color.b * 255);
         var a = (int)(color.a * 255);
         ColorBuilder.Clear();
         ColorBuilder.Append("#");
         ColorBuilder.Append(r.ToString("x2"));
         ColorBuilder.Append(g.ToString("x2"));
         ColorBuilder.Append(b.ToString("x2"));
         ColorBuilder.Append(a.ToString("x2"));
         var result = ColorBuilder.ToString();
         return(result);
     }
 }
Ejemplo n.º 10
0
        public void CB_SuggestColorsTest_01()
        {
            Color ref1 = Color.Brown, ref2 = Color.GreenYellow;
            Color fc, bc;

            for (int i = 0; i < 20; i++)
            {
                ColorBuilder.SuggestColors(ref1, ref2, out fc, out bc);

                Assert.IsTrue(ref1.GetSaturation() <= bc.GetSaturation(), "backward color saturation too low");
                Assert.IsTrue(bc.GetSaturation() <= ref2.GetSaturation(), "backward color saturation too high");
                Assert.IsTrue(ref1.GetBrightness() <= bc.GetBrightness(), "backward color brightness too low");
                Assert.IsTrue(bc.GetBrightness() <= ref2.GetBrightness(), "backward color brightness too high");

                Assert.IsTrue(ref1.GetSaturation() <= fc.GetSaturation(), "forward color saturation too low");
                Assert.IsTrue(fc.GetSaturation() <= ref2.GetSaturation(), "forward color saturation too high");
                Assert.IsTrue(ref1.GetBrightness() <= fc.GetBrightness(), "forward color brightness too low");
                Assert.IsTrue(fc.GetBrightness() <= ref2.GetBrightness(), "forward color brightness too high");

                Assert.IsTrue(bc.GetSaturation() <= fc.GetSaturation(), "saturation not ordered");
                Assert.IsTrue(bc.GetBrightness() <= fc.GetBrightness(), "brightness not ordered");
            }
        }
Ejemplo n.º 11
0
 public void ParseHexThrowsOnNull()
 {
     Assert.Throws <ArgumentNullException>(() => ColorBuilder <Rgb24> .FromHex(null));
 }
Ejemplo n.º 12
0
 public void ParseHexThrowsOnEmpty()
 {
     Assert.Throws <ArgumentException>(() => ColorBuilder <Rgb24> .FromHex(""));
 }
Ejemplo n.º 13
0
 public void ParseHexLeadingPoundIsOptional()
 {
     Assert.Equal(new Rgb24(0, 128, 128), ColorBuilder <Rgb24> .FromHex("#008080"));
     Assert.Equal(new Rgb24(0, 128, 128), ColorBuilder <Rgb24> .FromHex("008080"));
 }
Ejemplo n.º 14
0
 public void ParseShortHex()
 {
     Assert.Equal(new Rgb24(255, 255, 255), ColorBuilder <Rgb24> .FromHex("#fff"));
     Assert.Equal(new Rgb24(255, 255, 255), ColorBuilder <Rgb24> .FromHex("fff"));
     Assert.Equal(new Rgba32(0, 0, 0, 255), ColorBuilder <Rgba32> .FromHex("000f"));
 }
Ejemplo n.º 15
0
 public AnsiStringColorBuilder(string text)
 {
     CurrentValue = text;
     Builder      = new ColorBuilder(this);
 }