public void PackAndDrawHorizontalImageTest()
        {
            var target = new NonphotoIndexedAssemble_Accessor(new WebGreaseContext(new WebGreaseConfiguration()));
            var log    = new ImageMap_Accessor("ReplaceLog.xml");

            log.AppendPadding("0");
            target.ImageXmlMap = log;
            Bitmap actual = null;
            List <BitmapContainer_Accessor> data = null;

            try
            {
                data = GenerateData(WebGrease.ImageAssemble.ImageType_Accessor.NonphotoIndexed);
                Assert.IsTrue(data.Count > 0);
                actual = target.PackHorizontal(data, true, null);
                int totalWidth = data.Sum(bmp => bmp.Width);
                int maxHeight  = data.Max(bmp => bmp.Height);
                Assert.AreEqual(totalWidth, actual.Width);
                Assert.AreEqual(maxHeight, actual.Height);
            }
            finally
            {
                foreach (var entry in data)
                {
                    entry.Bitmap.Dispose();
                }

                if (actual != null)
                {
                    actual.Dispose();
                }
            }
        }
        public void OptimizeAndSaveTest_NonphotoIndexed()
        {
            Bitmap originalImage           = null;
            var    nonphotoIndexedAccessor = new NonphotoIndexedAssemble_Accessor(new WebGreaseContext(new WebGreaseConfiguration()));

            try
            {
                var log = new ImageMap_Accessor("ReplaceLog.xml");
                log.AppendPadding("0");
                nonphotoIndexedAccessor.ImageXmlMap      = log;
                nonphotoIndexedAccessor.AssembleFileName = "Combine.png";
                var gifData = GenerateData(ImageType_Accessor.NonphotoIndexed);
                originalImage = nonphotoIndexedAccessor.PackVertical(gifData, true, null);
                nonphotoIndexedAccessor.SaveImage(originalImage);
                Assert.IsTrue(File.Exists(nonphotoIndexedAccessor.AssembleFileName));
            }
            finally
            {
                if (originalImage != null)
                {
                    originalImage.Dispose();
                }
            }
        }