Exemple #1
0
        public void ChangeImageColorsAndUpdateImage(ColorModifier newColorInfo)
        {
            if (ImageFilePath != null)
            {
                byte[] imageInBytes = File.ReadAllBytes(ImageFilePath);

                using (MemoryStream ms = new MemoryStream(imageInBytes))
                {
                    using (System.Drawing.Image img = System.Drawing.Image.FromStream(ms))
                    {
                        Bitmap previewImageBitMap = new Bitmap(img);

                        for (int xCoordinate = 0; xCoordinate < previewImageBitMap.Width; xCoordinate++)
                        {
                            for (int yCoordinate = 0; yCoordinate < previewImageBitMap.Height; yCoordinate++)
                            {
                                System.Drawing.Color oldPixelColor = previewImageBitMap.GetPixel(xCoordinate, yCoordinate);
                                System.Drawing.Color newPixelColor = GetNewPixelColor(oldPixelColor, newColorInfo);

                                previewImageBitMap.SetPixel(xCoordinate, yCoordinate, newPixelColor);
                            }
                        }

                        UpdateImagePreview(previewImageBitMap);
                        ModifiedBitmap = previewImageBitMap;
                    }
                }
            }
        }
Exemple #2
0
        public System.Drawing.Color GetNewPixelColor(System.Drawing.Color oldColor, ColorModifier colorModifier)
        {
            int newRed   = Convert.ToInt32(oldColor.R + (colorModifier.Red * 2.5));
            int newGreen = Convert.ToInt32(oldColor.G + (colorModifier.Green * 2.5));;
            int newBlue  = Convert.ToInt32(oldColor.B + (colorModifier.Blue * 2.5));;;

            if (newRed > 255)
            {
                newRed = 255;
            }
            if (newRed < 0)
            {
                newRed = 0;
            }
            if (newGreen > 255)
            {
                newGreen = 255;
            }
            if (newGreen < 0)
            {
                newGreen = 0;
            }
            if (newBlue > 255)
            {
                newBlue = 255;
            }
            if (newBlue < 0)
            {
                newBlue = 0;
            }

            System.Drawing.Color newColor = System.Drawing.Color.FromArgb(newRed, newGreen, newBlue);

            return(newColor);
        }
Exemple #3
0
        public void applyToImageButton_Click(object sender, RoutedEventArgs e)
        {
            int red   = Convert.ToInt32(sliderRed.Value);
            int green = Convert.ToInt32(sliderGreen.Value);
            int blue  = Convert.ToInt32(sliderBlue.Value);

            ColorModifier newColorModifier = new ColorModifier(red, green, blue);

            ChangeImageColorsAndUpdateImage(newColorModifier);
        }