Beispiel #1
0
        protected void Test_Compress_InvalidArguments()
        {
            IImageOptimizer optimizer = CreateImageOptimizer();

            Assert.IsNotNull(optimizer);

            ExceptionAssert.Throws <ArgumentNullException>(delegate()
            {
                optimizer.Compress((FileInfo)null);
            });

            ExceptionAssert.Throws <ArgumentNullException>(delegate()
            {
                optimizer.Compress((string)null);
            });

            ExceptionAssert.Throws <ArgumentException>(delegate()
            {
                optimizer.Compress("");
            });

            ExceptionAssert.Throws <ArgumentException>(delegate()
            {
                optimizer.Compress(Files.Missing);
            });
        }
Beispiel #2
0
        private long Test_Compress(string fileName, bool resultIsSmaller)
        {
            FileInfo tempFile = CreateTemporaryFile(fileName);

            try
            {
                IImageOptimizer optimizer = CreateImageOptimizer();
                Assert.IsNotNull(optimizer);

                long before = tempFile.Length;
                optimizer.Compress(tempFile);

                long after = tempFile.Length;

                if (resultIsSmaller)
                {
                    Assert.IsTrue(after < before, "{0} is not smaller than {1}", after, before);
                }
                else
                {
                    Assert.AreEqual(before, after);
                }

                return(after);
            }
            finally
            {
                tempFile.Delete();
            }
        }
        private bool DoCompress(FileInfo file)
        {
            IImageOptimizer optimizer = GetOptimizer(file);

            if (optimizer == null)
            {
                return(false);
            }

            optimizer.OptimalCompression = OptimalCompression;
            return(optimizer.Compress(file));
        }
Beispiel #4
0
        private void DoCompress(FileInfo file)
        {
            IImageOptimizer optimizer = GetOptimizer(file);

            if (optimizer == null)
            {
                return;
            }

            optimizer.OptimalCompression = OptimalCompression;
            optimizer.Compress(file);
        }
        /// <summary>
        /// Performs compression on the specified stream. With some formats the image will be decoded
        /// and encoded and this will result in a small quality reduction. If the new size is not
        /// smaller the stream won't be overwritten.
        /// </summary>
        /// <param name="stream">The stream of the image to compress.</param>
        /// <returns>True when the image could be compressed otherwise false.</returns>
        public bool Compress(Stream stream)
        {
            ImageOptimizerHelper.CheckStream(stream);

            IImageOptimizer optimizer = GetOptimizer(stream);

            if (optimizer == null)
            {
                return(false);
            }

            optimizer.OptimalCompression = OptimalCompression;
            return(optimizer.Compress(stream));
        }
Beispiel #6
0
        protected void Test_Compress_InvalidFile(string fileName)
        {
            FileInfo tempFile = CreateTemporaryFile(fileName);

            try
            {
                ExceptionAssert.Throws <MagickCorruptImageErrorException>(delegate()
                {
                    IImageOptimizer optimizer = CreateImageOptimizer();
                    Assert.IsNotNull(optimizer);

                    optimizer.Compress(tempFile);
                });
            }
            finally
            {
                tempFile.Delete();
            }
        }