Exemplo n.º 1
0
        /// <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;
        }
Exemplo n.º 2
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;
        }
Exemplo n.º 3
0
        /// <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);
            }
        }