Esempio n. 1
0
 public Form1()
 {
     InitializeComponent();
     imagePath             = Application.StartupPath;
     imagePath             = Path.Combine(imagePath.Substring(0, imagePath.Length - 9), @"Images");
     imagePath            += "/lena.jpg";
     startSize             = (new Bitmap(imagePath)).Size;
     pictureBox.Image      = new Bitmap(new Bitmap(imagePath), pictureBox.Width, pictureBox.Height);
     pictureBoxAfter.Image = new Bitmap(pictureBoxAfter.Width, pictureBoxAfter.Height);
     pictureBoxAlong.Image = new Bitmap(pictureBoxAlong.Width, pictureBoxAlong.Height);
     reducedAfterFactory   = new ReducedColorsBitmapFactory(new Bitmap(imagePath));
     reducedAlongFactory   = new ReducedColorsBitmapFactory(new Bitmap(imagePath), true);
 }
Esempio n. 2
0
        private void ReduceToGrayScaleButton_Click(object sender, EventArgs e)
        {
            Bitmap bitmap = new Bitmap(imagePath);

            for (int i = 0; i < bitmap.Width; i++)
            {
                for (int j = 0; j < bitmap.Height; j++)
                {
                    Color  pixelColor = bitmap.GetPixel(i, j);
                    double gray       = Math.Min(255, Math.Max(0, (0.3 * pixelColor.R) + (0.59 * pixelColor.G) + (0.11 * pixelColor.B)));
                    bitmap.SetPixel(i, j, Color.FromArgb((int)gray, (int)gray, (int)gray));
                }
            }
            reducedAfterFactory   = new ReducedColorsBitmapFactory(bitmap);
            reducedAlongFactory   = new ReducedColorsBitmapFactory(bitmap, true);
            pictureBoxAfter.Image = new Bitmap(pictureBoxAfter.Width, pictureBoxAfter.Height);
            pictureBoxAlong.Image = new Bitmap(pictureBoxAlong.Width, pictureBoxAlong.Height);
            pictureBox.Image      = new Bitmap(bitmap, pictureBox.Width, pictureBox.Height);
            RefreshPictures();
        }
Esempio n. 3
0
        private void LoadBitmapButton_Click(object sender, EventArgs e)
        {
            var fileContent = string.Empty;
            var filePath    = string.Empty;

            using (OpenFileDialog openFileDialog = new OpenFileDialog())
            {
                string path = Application.StartupPath;
                openFileDialog.InitialDirectory = Path.Combine(path.Substring(0, path.Length - 9), @"Images");
                openFileDialog.Filter           = "png files (*.png)|*.png|jpg files (*.jpg)|*.jpg";
                openFileDialog.FilterIndex      = 2;
                openFileDialog.RestoreDirectory = true;

                if (openFileDialog.ShowDialog() == DialogResult.OK)
                {
                    imagePath           = openFileDialog.FileName;
                    startSize           = (new Bitmap(imagePath)).Size;
                    reducedAfterFactory = new ReducedColorsBitmapFactory(new Bitmap(imagePath));
                    reducedAlongFactory = new ReducedColorsBitmapFactory(new Bitmap(imagePath), true);
                    RefreshPictureBoxes();
                }
            }
        }