Esempio n. 1
0
        public void Sample2Test()
        {
            const string source     = @"D:\Sergey\swf\first.swf";
            var          secondTags = IterateTags(Cycle(source)).ToList();

            var firstFile = File.Open(source, FileMode.Open);
            var firstTags = IterateTags(firstFile).ToList();

            var deserializer = new SwfTagDeserializer(new SwfFile {
                FileInfo = { Version = 10 }
            });

            for (var i = 0; i < firstTags.Count; i++)
            {
                var firstTag   = firstTags[i];
                var secondTag  = secondTags[i];
                var firstType  = firstTag.Type;
                var secondType = secondTag.Type;
                if (firstType == SwfTagType.DefineSprite)
                {
                    continue;                                       //For now
                }
                if (firstType != secondType)
                {
                    throw new InvalidOperationException();
                }
                var dual = new DualSwfStreamReader(new MemoryStream(firstTag.Data), new MemoryStream(secondTag.Data));
                deserializer.ReadTag(firstType, dual);
            }
        }
Esempio n. 2
0
        public void Sample1Test()
        {
            const string path = "Sample - 1.swf";
            var          file = ReadSwfFile(path);
            var          mem  = new MemoryStream();

            file.WriteTo(mem);
            mem.Seek(0, SeekOrigin.Begin);

            var firstTags  = IterateTags(OpenEmbeddedResource(path)).ToList();
            var secondTags = IterateTags(mem).ToList();

            var deserializer = new SwfTagDeserializer(file);

            for (var i = 0; i < firstTags.Count; i++)
            {
                var firstTag   = firstTags[i];
                var secondTag  = secondTags[i];
                var firstType  = firstTag.Type;
                var secondType = secondTag.Type;
                if (firstType != secondType)
                {
                    throw new InvalidOperationException();
                }
                //if (firstType == SwfTagType.DefineSprite) continue; //For now
                var dual = new DualSwfStreamReader(new MemoryStream(firstTag.Data), new MemoryStream(secondTag.Data));
                //var dual = new SwfStreamReader(new MemoryStream(firstTag.Data));
                deserializer.ReadTag(firstType, dual);
            }
        }