/// <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); }
/// <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(); }