/// <summary>
        /// 添加文字
        /// </summary>
        /// <param name="textElement"></param>
        /// <param name="text"></param>
        /// <returns></returns>
        private Bitmap DrawText(SeatManage.ClassModel.DimensionalElement textElement, string text)
        {
            //System.Drawing.Brush brushConverter = new System.Windows.Media.BrushConverter();
            Brush        fontcolor = new SolidBrush(Color.FromArgb(Convert.ToInt32(textElement.FontColor.Substring(1), 16)));
            int          fontx     = 0;
            int          fonty     = 0;
            StringFormat fontsf    = new StringFormat();

            switch (textElement.Alignment)
            {
            case SeatManage.ClassModel.ElementTextAlignment.Center:
                fontsf.Alignment = StringAlignment.Center;
                fontx            = (int)(textElement.Width / 2);
                break;

            case SeatManage.ClassModel.ElementTextAlignment.Left:
                fontsf.Alignment = StringAlignment.Near;
                fontx            = 0;
                break;

            case SeatManage.ClassModel.ElementTextAlignment.Right:
                fontsf.Alignment = StringAlignment.Far;
                fontx            = (int)textElement.Width;
                break;
            }
            Bitmap   fontImage = new Bitmap((int)textElement.Width, (int)textElement.Height);
            Graphics seatg     = Graphics.FromImage(fontImage);

            seatg.DrawString(text, new Font("方正综艺简体", textElement.FontSize, FontStyle.Regular), fontcolor, fontx, fonty, fontsf);
            switch ((int)textElement.Angle)
            {
            case 90:
                fontImage.RotateFlip(RotateFlipType.Rotate90FlipNone);
                break;

            case 180:
                fontImage.RotateFlip(RotateFlipType.Rotate180FlipNone);
                break;

            case 270:
                fontImage.RotateFlip(RotateFlipType.Rotate270FlipNone);
                break;
            }
            //fontImage.Save(_SavePath + "\\" + text + ".jpg", ImageFormat.Jpeg);
            return(fontImage);
        }
Beispiel #2
0
 /// <summary>
 /// 保存
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btn_Save_Click(object sender, RoutedEventArgs e)
 {
     System.Windows.Forms.FolderBrowserDialog fbd = new System.Windows.Forms.FolderBrowserDialog();
     fbd.ShowDialog();
     if (fbd.SelectedPath == string.Empty)
     {
         return;
     }
     viewModel.SavePath = fbd.SelectedPath;
     viewModel.Model.ElementList.Clear();
     viewModel.Model.ImageFiles.Clear();
     foreach (UserControl fe in elementCanvas.Children)
     {
         SeatManage.ClassModel.DimensionalElement ucElement = new SeatManage.ClassModel.DimensionalElement();
         if (fe is UC.UC_Element)
         {
             ucElement = (fe as UC.UC_Element).viewModel.Model;
         }
         else if (fe is UC.UC_TextElement)
         {
             ucElement = (fe as UC.UC_TextElement).viewModel.Model;
         }
         SeatManage.ClassModel.DimensionalElement newElement = new SeatManage.ClassModel.DimensionalElement();
         newElement.Alignment  = ucElement.Alignment;
         newElement.Angle      = ucElement.Angle;
         newElement.FontColor  = ucElement.FontColor;
         newElement.FontSize   = ucElement.FontSize;
         newElement.Height     = ucElement.Height;
         newElement.ImageFile  = ucElement.ImageFile;
         newElement.Order      = ucElement.Order;
         newElement.PosintionX = ucElement.PosintionX;
         newElement.PosintionY = ucElement.PosintionY;
         newElement.Text       = ucElement.Text;
         newElement.Type       = ucElement.Type;
         newElement.Width      = ucElement.Width;
         viewModel.Model.ElementList.Add(newElement);
     }
     viewModel.Save();
 }