Ejemplo n.º 1
0
        private void ConstructorStreamTest(bool xmlDebugging)
        {
            MemoryStream s = CreateStream();

            // Extra stuff not included in the frame stream, to pass to the
            // constructor.
            ColourTable             colourTable = WikipediaExample.GlobalColourTable;
            GraphicControlExtension ext         = WikipediaExample.GraphicControlExtension;
            LogicalScreenDescriptor lsd         = WikipediaExample.LogicalScreenDescriptor;

            _frame = new GifFrame(s, lsd, colourTable, ext, null, null, xmlDebugging);

            Assert.AreEqual(ErrorState.Ok, _frame.ConsolidatedState);

            WikipediaExample.CheckImage(_frame.TheImage);
            WikipediaExample.CheckImageDescriptor(_frame.ImageDescriptor);
            WikipediaExample.CheckGraphicControlExtension(_frame.GraphicControlExtension);
            WikipediaExample.CheckImageData(_frame.IndexedPixels);
            Assert.AreEqual(0, _frame.BackgroundColour.R);
            Assert.AreEqual(0, _frame.BackgroundColour.G);
            Assert.AreEqual(0, _frame.BackgroundColour.B);

            if (xmlDebugging)
            {
                Assert.AreEqual(ExpectedDebugXml, _frame.DebugXml);
            }
        }
Ejemplo n.º 2
0
        private void ConstructorStreamUseLocalTest(bool xmlDebugging)
        {
            _decoder = new GifDecoder(@"images\wikipedia example UseLocal.gif",
                                      xmlDebugging);
            _decoder.Decode();
            _frame = _decoder.Frames[0];

            Assert.AreEqual(ErrorState.Ok, _frame.ConsolidatedState);

            WikipediaExample.CheckImage(_frame.TheImage);

            // Check image descriptor
            ImageDescriptor id = _frame.ImageDescriptor;

            Assert.AreEqual(true, id.HasLocalColourTable,
                            "HasLocalColourTable");
            Assert.AreEqual(false, id.IsInterlaced, "IsInterlaced");
            Assert.AreEqual(false, id.IsSorted, "LocalColourTableIsSorted");
            Assert.AreEqual(4, id.LocalColourTableSize, "LocalColourTableSize");
            Assert.AreEqual(new Point(0, 0), id.Position, "Position");
            Assert.AreEqual(new Size(3, 5), id.Size, "Size");

            WikipediaExample.CheckGraphicControlExtension(_frame.GraphicControlExtension);
            WikipediaExample.CheckImageData(_frame.IndexedPixels);
            Assert.AreEqual(0, _frame.BackgroundColour.R);
            Assert.AreEqual(0, _frame.BackgroundColour.G);
            Assert.AreEqual(0, _frame.BackgroundColour.B);

            if (xmlDebugging)
            {
                Assert.AreEqual(ExpectedDebugXml, _frame.DebugXml);
            }
        }
Ejemplo n.º 3
0
        public static void VisitorPattern()
        {
            var wiki = new WikipediaExample();

            wiki.Run();
            Console.ReadKey();
        }
Ejemplo n.º 4
0
        private void ConstructorTest(bool xmlDebugging)
        {
            byte[]       bytes = WikipediaExample.ImageDataBytes;
            MemoryStream s     = new MemoryStream();

            s.Write(bytes, 0, bytes.Length);
            s.Seek(0, SeekOrigin.Begin);

            int pixelCount = WikipediaExample.FrameSize.Width
                             * WikipediaExample.FrameSize.Height;

            _tbid = new TableBasedImageData(s, pixelCount, xmlDebugging);

            Assert.AreEqual(ErrorState.Ok, _tbid.ConsolidatedState);
            WikipediaExample.CheckImageData(_tbid);

            if (xmlDebugging)
            {
                Assert.AreEqual(ExpectedDebugXml, _tbid.DebugXml);
            }
        }