示例#1
0
        private void loadAnimationButton_Click(object sender, EventArgs e)
        {
            using (var fd = new OpenFileDialog())
            {
                fd.CheckFileExists = true;
                fd.Filter          = "Animation file (*.ma)|*.ma";
                fd.Title           = "Load animation file";

                if (fd.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                LoadAnimation(AnimationFile.ReadAnimation(fd.FileName));
            }
        }
示例#2
0
        private void LoadAnimation(AnimationFile file)
        {
            if (file == null || file.Bitmaps.Count < 1)
            {
                SystemSounds.Hand.Play();
                return;
            }

            delayUpDown.Value = file.Delay;

            ClearFrames();

            foreach (var bitmap in file.Bitmaps)
            {
                AddFrame(new Frame(bitmap));
            }
        }
示例#3
0
        public static bool SaveAnimation(AnimationFile animation, string file)
        {
            using (var ms = new MemoryStream())
            {
                var bf = new BinaryFormatter();
                bf.Serialize(ms, animation);

                try
                {
                    File.WriteAllBytes(file, ms.ToArray());
                }
                catch (Exception)
                {
                    return(false);
                }
            }

            return(true);
        }
示例#4
0
        private void SaveAnimation(string file)
        {
            var bitmaps = new List <Bitmap>();

            foreach (var node in treeView.Nodes)
            {
                bitmaps.Add(((Frame)((TreeNode)node).Tag).Bitmap);
            }

            var animation = new AnimationFile
            {
                Delay   = (int)delayUpDown.Value,
                Bitmaps = bitmaps
            };

            if (!AnimationFile.SaveAnimation(animation, file))
            {
                SystemSounds.Exclamation.Play();
            }
        }