Beispiel #1
0
        private void RefreshCurrentPreview()
        {
            Slide.Slide currentSlide = this.SlideList.SelectedItem as Slide.Slide;
            if (currentSlide != null)
            {
                RenderTargetBitmap rtb = new RenderTargetBitmap((int)this.DrawingCanvas.ActualWidth, (int)this.DrawingCanvas.ActualHeight, 100, 100, PixelFormats.Default);
                rtb.Render(this.DrawingCanvas);

                currentSlide.Thumbnail = rtb;
            }
        }
 private void LoadSlides(string folderPath)
 {
     string[] files = Directory.GetFiles(folderPath, "*.jpg");
     foreach (var item in files)
     {
         FileInfo    fi    = new FileInfo(item);
         Slide.Slide slide = new Slide.Slide()
         {
             Image = item, Title = fi.Name
         };
         this.SlideCollection.Add(slide);
     }
 }
Beispiel #3
0
        public void CloseWindows(object sender, MouseButtonEventArgs e)
        {
            int slide_cnt = this.SlideList.Items.Count;
            int i;

            //현재 슬라이드의 Child 이미지들의 UIElement를 저장

            Slide.Slide s = this.SlideList.SelectedItem as Slide.Slide;
            s.Children.Clear();

            foreach (UIElement item in this.DrawingCanvas.Children)
            {
                //  Slide.Slide s = this.SlideList.SelectedItem as Slide.Slide;
                s.Children.Add(cloneElement(item));
            }

            //전체 슬라이드를 순회하면서 Stroke, Child Element, Thumbnail을 저장
            for (i = 0; i < slide_cnt; i++)
            {
                int j;

                // Strokes를 저장
                StrokeCollection _strokes;
                Slide.Slide      _slide;
                _slide   = (this.SlideList.Items[i] as Slide.Slide);
                _strokes = _slide.Strokes;
                File.WriteAllText(".\\Saved\\" + _slide.Title + "_Strokes.xaml", XamlWriter.Save(_strokes));

                //Thumbnail을 저장
                IFormatter        formatter = new BinaryFormatter();
                Stream            stream    = File.Create(".\\Saved\\" + _slide.Title + "_th.jpg");
                JpegBitmapEncoder encoder   = new JpegBitmapEncoder();
                encoder.QualityLevel = 30;
                encoder.Frames.Add(BitmapFrame.Create(_slide.Thumbnail as BitmapSource));
                encoder.Save(stream);
                stream.Flush();
                stream.Close();

                //ChildUIElement를 저장
                //System.Diagnostics.Debug.WriteLine("ChildCout :"+ _slide.Children.Count);
                for (j = 0; j < _slide.Children.Count; j++)
                {
                    UIElement _saved;
                    _saved = CloneDocument(_slide.Children[j] as UIElement);
                    File.WriteAllText(".\\Saved\\" + _slide.Title + "_UIElement" + j + ".xaml", XamlWriter.Save(_saved));
                }
            }
            this.SearchWindow.KillMe();
            this.Close();
        }
Beispiel #4
0
 private void BackupChildObj(SelectionChangedEventArgs e)
 {
     //이전거 백업
     if (e.RemovedItems != null && e.RemovedItems.Count > 0)
     {
         Slide.Slide oldSlide = e.RemovedItems[0] as Slide.Slide;
         if (oldSlide != null)
         {
             oldSlide.Children.Clear();
             foreach (UIElement item in this.DrawingCanvas.Children)
             {
                 oldSlide.Children.Add(cloneElement(item));
             }
         }
     }
 }
Beispiel #5
0
        private void RestoreChildObj(SelectionChangedEventArgs e)
        {
            //새거 로드
            if (e.AddedItems != null && e.AddedItems.Count > 0)
            {
                Slide.Slide newSlide = e.AddedItems[0] as Slide.Slide;
                if (newSlide != null)
                {
                    foreach (UIElement item in newSlide.Children)
                    {
                        this.DrawingCanvas.Children.Add(item);

                        item.IsManipulationEnabled = true;
                    }
                }
            }
        }
 private void LoadSlides(string folderPath)
 {
     string[] files = Directory.GetFiles(folderPath, "*.jpg");
     foreach (var item in files)
     {
         FileInfo fi = new FileInfo(item);
         Slide.Slide slide = new Slide.Slide() { Image = item, Title = fi.Name };
         this.SlideCollection.Add(slide);
     }
 }
 public TouchableItem(Slide.Slide slide)
 {
     this._slide = slide;
 }