コード例 #1
0
ファイル: Form1.cs プロジェクト: LimeTheFruit/EditImages
 private void BtnBlurred_Click(object sender, EventArgs e)
 {
     manipulated         = ImageManipulations.MakeBlurry(original);
     currentManipulation = "_blurry";
     pbManipulated.Image = manipulated;
     manipulationMade    = true;
 }
コード例 #2
0
ファイル: UnitTest1.cs プロジェクト: LimeTheFruit/EditImages
        public void BlurryWorks()
        {
            Color white = Color.FromArgb(255, 255, 255);
            Color black = Color.FromArgb(0, 0, 0);

            Color[,] assignColors =
            {
                { white, black, white },
                { white, black, white },
                { white, black, white }
            };

            Bitmap original = CreateImage(3, 3, assignColors);
            Bitmap actual   = ImageManipulations.MakeBlurry(original);

            // Om suddalgoritmen ovan har fungerat, så ska det inte finnas en enda pixel i testbilden
            // som är helt svart eller helt vit. Loopen nedan testar detta.
            for (int y = 0; y < actual.Height; y++)
            {
                for (int x = 0; x < actual.Width; x++)
                {
                    int colorSum = actual.GetPixel(x, y).R + actual.GetPixel(x, y).G + actual.GetPixel(x, y).B;

                    // En helt vit pixel är 255 * 3 = 765, medan en helt svart är 0.
                    if (colorSum == 0 || colorSum == 765)
                    {
                        Assert.Fail();
                    }
                }
            }
            Assert.Pass();
        }
コード例 #3
0
        static void Main(string[] args)
        {
            string path = null;

            if (args.Length > 0)
            {
                path = args[0];
            }
            else
            {
                bool   retry        = false;
                string message      = "Please enter the path to your image: ";
                string retryMessage = "\nCould not find image, please try again: ";

                while (!File.Exists(path))
                {
                    Console.Write(retry ? retryMessage : message);
                    path  = Console.ReadLine();
                    retry = true;
                }
            }

            Console.WriteLine("Working...");

            Bitmap original;

            try
            {
                // Kolla om filen är en bildfil och tilldela isf den till "original"
                original = new Bitmap(path);
            }
            catch (ArgumentException)
            {
                Console.WriteLine("The file is not an acceptable format.");
                return;
            }

            if (original.Width >= 5000 || original.Height >= 5000)
            {
                Console.WriteLine("The image cannot be over 5000 pixels in height or width.");
                return;
            }

            Bitmap negative = ImageManipulations.MakeNegative(original);

            negative.Save(PathManipulations.EditFileName(path, "_negative"));
            Console.WriteLine("Negative saved");

            Bitmap gray = ImageManipulations.MakeGray(original);

            gray.Save(PathManipulations.EditFileName(path, "_grayscale"));
            Console.WriteLine("Grayscale saved");

            Bitmap blurry = ImageManipulations.MakeBlurry(original);

            blurry.Save(PathManipulations.EditFileName(path, "_blurred"));
            Console.WriteLine("The blurry image saved");

            // Om vi inte har anledning att misstänka att en server använder programmet,
            // så låt den eventuella användaren läsa eventuella meddelanden innan programmet avslutas.
            if (args.Length == 0)
            {
                Console.WriteLine("\nPress any key to exit...");
                Console.ReadKey();
            }
        }