/// <summary> /// 往TabControl中添加一个TabItem及一个画板 /// </summary> private void NewDrawingBoard(BitmapDescription bitmapDescription) { DrawingBoard drawingBoard = new DrawingBoard(bitmapDescription); // 为画板创建数据绑定 Binding binding = new Binding(); // 当前图层 binding.Source = this.layerList; binding.Path = new PropertyPath("SelectedItem"); drawingBoard.SetBinding(DrawingBoard.CurrentLayerProperty, binding); binding = new Binding(); // 绘画模式 binding.Source = this.toolList; binding.Path = new PropertyPath("SelectedItem"); drawingBoard.SetBinding(DrawingBoard.DrawingModeProperty, binding); binding = new Binding(); // 绘画颜色 binding.Source = this.colorPicker; binding.Path = new PropertyPath("SelectedColor"); drawingBoard.SetBinding(DrawingBoard.ColorProperty, binding); binding = new Binding(); // 画笔大小 binding.Source = this.penSize; binding.Path = new PropertyPath("Value"); drawingBoard.SetBinding(DrawingBoard.PenThicknessProperty, binding); TabItem tabItem = new TabItem(); tabItem.Header = bitmapDescription.Name; tabItem.Content = drawingBoard; this.tabBoard.Items.Add(tabItem); this.tabBoard.SelectedItem = tabItem; this.layerList.SelectedIndex = 0; }
/// <summary> /// Creates new font plane. /// </summary> public FontPlane() { _metrics = new FontMetrics(); _description = new FontDescription(); _characterBitmapDescription = new BitmapDescription(); _characterRanges = new SentinelCollection <CharacterRangeDescription>(); _characters = new SentinelCollection <CharacterDescription>(); _characterBitmapData = new byte[0]; _characterAntialiasingMetrics = new AntialiasingMetrics(); _characterRangesAntialiasing = new List <CharacterRangeAntialiasing>(); _charactersAntialiasing = new List <CharacterAntialiasing>(); _characterAntialiasingData = null; }
/// <summary> /// 打开图像文件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OpenCommand_Executed(object sender, ExecutedRoutedEventArgs e) { string filename = BitmapHelper.Open(); if (filename != null) { BitmapImage imgSource = BitmapHelper.GetBitmapImage(filename); // 创建位图描述信息 BitmapDescription bitmapDescription = new BitmapDescription(); bitmapDescription.Name = filename; bitmapDescription.Width = imgSource.PixelWidth; bitmapDescription.Height = imgSource.PixelHeight; bitmapDescription.DPI_X = imgSource.DpiX; bitmapDescription.DPI_Y = imgSource.DpiY; // 创建画布 NewDrawingBoard(bitmapDescription); // 将图像绘制到画布的图层上 CurrentDrawingBoard.AddBitmap(imgSource); } }