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); } }
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(); }
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)); } } } }
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; } } } }
public TouchableItem(Slide.Slide slide) { this._slide = slide; }