/// <summary> /// 导出 /// </summary> /// <returns></returns> public bool Save() { if (string.IsNullOrEmpty(_SavePath.Trim())) { ErrorMessage = "保存地址不能为空!"; return(false); } if (string.IsNullOrEmpty(_Url.Trim())) { ErrorMessage = "保存地址不能为空!"; return(false); } try { string codeURL = _Url + "?param="; string AESCode = "seatNum={0}&readingRoomNum={1}"; string savePath = _SavePath + _RoomInfo.No + "_" + _RoomInfo.Name + "\\"; if (!Directory.Exists(savePath)) { Directory.CreateDirectory(savePath); } foreach (KeyValuePair <string, SeatManage.ClassModel.Seat> seat in _RoomInfo.SeatList.Seats) { Bitmap dCode = QRCode.GetDimensionalCode(codeURL + AESAlgorithm.UrlEncode(string.Format(AESCode, seat.Value.SeatNo, _RoomInfo.No))); Graphics dNum = Graphics.FromImage(dCode); dNum.DrawRectangle(new Pen(Color.White, 60), 141, 141, 60, 60); StringFormat sf = new StringFormat(); sf.Alignment = StringAlignment.Center; dNum.DrawString(seat.Value.ShortSeatNo, new Font("黑体", 46, FontStyle.Bold), Brushes.Black, 172, 141, sf); dNum.Save(); dCode.Save(savePath + seat.Key + ".jpg", ImageFormat.Jpeg); } return(true); } catch (Exception ex) { ErrorMessage = "导出失败," + ex.Message; return(false); } }
/// <summary> /// 导出 /// </summary> /// <returns></returns> public bool Save() { if (string.IsNullOrEmpty(_SavePath.Trim())) { ErrorMessage = "保存地址不能为空!"; return(false); } if (string.IsNullOrEmpty(_Url.Trim())) { ErrorMessage = "保存地址不能为空!"; return(false); } try { string codeURL = _Url + "?param="; string AESCode = "seatNum={0}&readingRoomNum={1}"; string savePath = _SavePath + _RoomInfo.No + "_" + _RoomInfo.Name + "\\"; if (!Directory.Exists(savePath)) { Directory.CreateDirectory(savePath); } if (!_IsUseTemplate) { //默认 foreach (KeyValuePair <string, SeatManage.ClassModel.Seat> seat in _RoomInfo.SeatList.Seats) { Bitmap dCode = QRCode.GetDimensionalCode(codeURL + AESAlgorithm.UrlEncode(string.Format(AESCode, seat.Value.SeatNo, _RoomInfo.No)), 6, 12, "M"); Graphics dNum = Graphics.FromImage(dCode); dNum.DrawRectangle(new Pen(Color.White, 60), 165, 165, 60, 60); StringFormat sf = new StringFormat(); sf.Alignment = StringAlignment.Center; dNum.DrawString(seat.Value.ShortSeatNo, new Font("黑体", 46, FontStyle.Bold), Brushes.Black, 196, 165, sf); dNum.Save(); dCode.Save(savePath + seat.Key + ".jpg", ImageFormat.Jpeg); } return(true); } if (string.IsNullOrEmpty(_TemplatePath)) { ErrorMessage = "请选择模板!"; return(false); } if (!Directory.Exists(_TemplatePath)) { ErrorMessage = "模板路径不存在!"; return(false); } string xmlFilePath = _TemplatePath + "\\Template.xml"; if (!File.Exists(xmlFilePath)) { ErrorMessage = "模板加载失败!"; return(false); } //加载模板 XmlDocument docXml = new XmlDocument(); docXml.Load(xmlFilePath); SeatManage.ClassModel.DimensionalTemplate template = SeatManage.ClassModel.DimensionalTemplate.Parse(docXml.OuterXml); int seatCodeCount = template.SeatCodeCount; List <SeatManage.ClassModel.DimensionalElement> seatCodeList = template.ElementList.FindAll(u => u.Type == SeatManage.ClassModel.DimensionalElementTye.SeatCode); List <SeatManage.ClassModel.DimensionalElement> seatNoList = template.ElementList.FindAll(u => u.Type == SeatManage.ClassModel.DimensionalElementTye.SeatNo); List <SeatManage.ClassModel.DimensionalElement> roomNameList = template.ElementList.FindAll(u => u.Type == SeatManage.ClassModel.DimensionalElementTye.ReadingRoomName); List <SeatManage.ClassModel.DimensionalElement> bgList = template.ElementList.FindAll(u => u.Type == SeatManage.ClassModel.DimensionalElementTye.Background); List <SeatManage.ClassModel.DimensionalElement> imageList = template.ElementList.FindAll(u => u.Type == SeatManage.ClassModel.DimensionalElementTye.Image); List <SeatManage.ClassModel.DimensionalElement> textList = template.ElementList.FindAll(u => u.Type == SeatManage.ClassModel.DimensionalElementTye.Text); //整理排序号 string[] no = _NumOrder.Split(','); if (no.Length % seatCodeCount != 0) { ErrorMessage = "排序号必须为模板联数的倍数!"; return(false); } List <int> seatOrderNo = new List <int>(); for (int i = 0; i < no.Length; i++) { seatOrderNo.Add(int.Parse(no[i]) - 1); } List <SeatManage.ClassModel.Seat> seatList = new List <SeatManage.ClassModel.Seat>(); foreach (KeyValuePair <string, SeatManage.ClassModel.Seat> seat in _RoomInfo.SeatList.Seats) { seatList.Add(seat.Value); } //处理部分导出 if (_PathSave) { string[] num = _OutputNum.Split('-'); int s = int.Parse(num[0]) - 1; int e = int.Parse(num[1]) - 1; if (s < 1) { ErrorMessage = "起始编号必须大于零!"; return(false); } if (e > seatList.Count) { ErrorMessage = "结束编号不能大于座位总数!"; return(false); } seatList.RemoveRange(0, s); seatList.RemoveRange(e - s + 1, seatList.Count - (e - s + 1)); } Bitmap image = null; List <Image> seatQRList = new List <Image>(); for (int i = 0; i < seatList.Count; i++) { int seatOrder = (i / seatOrderNo.Count) * seatOrderNo.Count + seatOrderNo[i % seatOrderNo.Count]; int seatNo = i % seatCodeCount; //创建模板 if (seatNo == 0) { image = new Bitmap((int)template.Width, (int)template.Height); Graphics bg = Graphics.FromImage(image); //加载背景图片 for (int j = 0; j < bgList.Count; j++) { Bitmap imgB = new Bitmap((int)bgList[j].Width, (int)bgList[j].Height); Graphics ibg = Graphics.FromImage(imgB); Image bgi = Bitmap.FromFile(_TemplatePath + "\\" + bgList[j].ImageFile); if (bgi == null) { ErrorMessage = "背景图片加载失败!"; return(false); } ibg.DrawImage(bgi, 0, 0, (int)bgList[j].Width, (int)bgList[j].Height); ibg.Dispose(); switch ((int)bgList[j].Angle) { case 90: imgB.RotateFlip(RotateFlipType.Rotate90FlipNone); break; case 180: imgB.RotateFlip(RotateFlipType.Rotate180FlipNone); break; case 270: imgB.RotateFlip(RotateFlipType.Rotate270FlipNone); break; } bg.DrawImage(imgB, (int)bgList[j].PosintionX, (int)bgList[j].PosintionY, (int)bgList[j].Width, (int)bgList[j].Height); } bg.Dispose(); } //座位编号二维码 Image seatQR = QRCode.GetDimensionalCode(codeURL + AESAlgorithm.UrlEncode(string.Format(AESCode, seatList[seatOrder].SeatNo, _RoomInfo.No)), 6, 12, "H"); switch ((int)seatCodeList[seatNo].Angle) { case 90: seatQR.RotateFlip(RotateFlipType.Rotate90FlipNone); break; case 180: seatQR.RotateFlip(RotateFlipType.Rotate180FlipNone); break; case 270: seatQR.RotateFlip(RotateFlipType.Rotate270FlipNone); break; } Graphics seatg = Graphics.FromImage(image); seatg.DrawImage(seatQR, (int)seatCodeList[seatNo].PosintionX, (int)seatCodeList[seatNo].PosintionY, (int)seatCodeList[seatNo].Width, (int)seatCodeList[seatNo].Height); //座位编号 seatg.DrawImage(DrawText(seatNoList[seatNo], seatList[seatOrder].ShortSeatNo), (int)seatNoList[seatNo].PosintionX, (int)seatNoList[seatNo].PosintionY, (int)seatNoList[seatNo].Width, (int)seatNoList[seatNo].Height); seatg.Dispose(); if (seatNo == seatCodeCount - 1 || i + 1 == seatList.Count) { Graphics gi = Graphics.FromImage(image); for (int j = 0; j < roomNameList.Count; j++) { gi.DrawImage(DrawText(roomNameList[j], _RoomInfo.Name), (int)roomNameList[j].PosintionX, (int)roomNameList[j].PosintionY, (int)roomNameList[j].Width, (int)roomNameList[j].Height); } for (int j = 0; j < textList.Count; j++) { gi.DrawImage(DrawText(textList[j], textList[j].Text), (int)textList[j].PosintionX, (int)textList[j].PosintionY, (int)textList[j].Width, (int)textList[j].Height); } for (int j = 0; j < imageList.Count; j++) { Image img = Bitmap.FromFile(_TemplatePath + "\\" + imageList[j].ImageFile); if (img == null) { ErrorMessage = "图片加载失败!"; return(false); } switch ((int)imageList[j].Angle) { case 90: img.RotateFlip(RotateFlipType.Rotate90FlipNone); break; case 180: img.RotateFlip(RotateFlipType.Rotate180FlipNone); break; case 270: img.RotateFlip(RotateFlipType.Rotate270FlipNone); break; } gi.DrawImage(img, (int)imageList[j].PosintionX, (int)imageList[j].PosintionY, (int)imageList[j].Width, (int)imageList[j].Height); } gi.Dispose(); string imageName = ""; for (int k = 0; k < seatCodeCount; k++) { int ii = i - k; int order = (ii / seatOrderNo.Count) * seatOrderNo.Count + seatOrderNo[ii % seatOrderNo.Count]; imageName = "_" + seatList[order].ShortSeatNo + imageName; } image.Save(savePath + _RoomInfo.Name + imageName + ".jpg", ImageFormat.Jpeg); image.Dispose(); } } return(true); } catch (Exception ex) { ErrorMessage = "导出失败," + ex.Message; return(false); } }
/// <summary> /// 导出 /// </summary> /// <returns></returns> public bool Save() { if (string.IsNullOrEmpty(_SavePath.Trim())) { ErrorMessage = "保存地址不能为空!"; return(false); } if (string.IsNullOrEmpty(_Url.Trim())) { ErrorMessage = "保存地址不能为空!"; return(false); } try { string codeURL = _Url + "?param="; string AESCode = "seatNum={0}&readingRoomNum={1}"; string savePath = _SavePath + _RoomInfo.No + "_" + _RoomInfo.Name + "\\"; if (!Directory.Exists(savePath)) { Directory.CreateDirectory(savePath); } if (!_IsUseTemplate) { //默认 foreach (KeyValuePair <string, SeatManage.ClassModel.Seat> seat in _RoomInfo.SeatList.Seats) { Bitmap dCode = QRCode.GetDimensionalCode(codeURL + AESAlgorithm.UrlEncode(string.Format(AESCode, seat.Value.SeatNo, _RoomInfo.No))); Graphics dNum = Graphics.FromImage(dCode); dNum.DrawRectangle(new Pen(Color.White, 60), 141, 141, 60, 60); StringFormat sf = new StringFormat(); sf.Alignment = StringAlignment.Center; dNum.DrawString(seat.Value.ShortSeatNo, new Font("黑体", 46, FontStyle.Bold), Brushes.Black, 172, 141, sf); dNum.Save(); dCode.Save(savePath + seat.Key + ".jpg", ImageFormat.Jpeg); } } else { string[] no = _NumOrder.Split(','); int a = int.Parse(no[0]) - 1; int b = int.Parse(no[1]) - 1; int c = int.Parse(no[2]) - 1; int d = int.Parse(no[3]) - 1; List <SeatManage.ClassModel.Seat> seatList = new List <SeatManage.ClassModel.Seat>(); foreach (KeyValuePair <string, SeatManage.ClassModel.Seat> seat in _RoomInfo.SeatList.Seats) { seatList.Add(seat.Value); } if (_PathSave) { string[] num = _OutputNum.Split('-'); int s = int.Parse(num[0]) - 1; int e = int.Parse(num[1]) - 1; seatList.RemoveRange(0, s); seatList.RemoveRange(e - s + 1, seatList.Count - (e - s + 1)); } //江西师范 //seatList.OrderBy(v => v.SeatNo); //StringFormat sf = new StringFormat(); //sf.Alignment = StringAlignment.Far; //StringFormat sf1 = new StringFormat(); //sf1.Alignment = StringAlignment.Center; //for (int i = 0; i < seatList.Count; i = i + 4) //{ // { // Bitmap image = new Bitmap(1772, 945); // Graphics bg = Graphics.FromImage(image); // Image bgi = Bitmap.FromFile(AppDomain.CurrentDomain.BaseDirectory + "二维码bg.jpg"); // bg.DrawImage(bgi, 0, 0, 1772, 945); // Graphics code1 = Graphics.FromImage(image); // Image c1 = QRCode.GetDimensionalCode(codeURL + AESAlgorithm.UrlEncode(string.Format(AESCode, seatList[i + a].SeatNo, _RoomInfo.No))); // code1.DrawImage(c1, 177, 223, 530, 530); // Graphics Num1 = Graphics.FromImage(image); // Num1.DrawString(seatList[i + a].ShortSeatNo, new Font("方正兰亭粗黑_GBK", 72, FontStyle.Bold), Brushes.White, 439, 825, sf1); // Graphics code2 = Graphics.FromImage(image); // Image c2 = QRCode.GetDimensionalCode(codeURL + AESAlgorithm.UrlEncode(string.Format(AESCode, seatList[i + b].SeatNo, _RoomInfo.No))); // code2.DrawImage(c2, 1062, 223, 530, 530); // Graphics Num2 = Graphics.FromImage(image); // Num1.DrawString(seatList[i + b].ShortSeatNo, new Font("方正兰亭粗黑_GBK", 72, FontStyle.Bold), Brushes.White, 1329, 825, sf1); // Graphics logo1 = Graphics.FromImage(image); // Image logo = Bitmap.FromFile(AppDomain.CurrentDomain.BaseDirectory + "二维码logo.jpg"); // logo1.DrawImage(logo, 344, 395, 190, 190); // Graphics logo2 = Graphics.FromImage(image); // logo2.DrawImage(logo, 1234, 395, 190, 190); // Graphics NumRoom = Graphics.FromImage(image); // NumRoom.DrawString(_RoomInfo.Name, new Font("方正兰亭粗黑_GBK", 46, FontStyle.Bold), Brushes.White, 1650, 64, sf); // image.Save(savePath + _RoomInfo.Name + "_" + seatList[i + a].ShortSeatNo + "_" + seatList[i + b].ShortSeatNo + ".jpg", ImageFormat.Jpeg); // } // { // Bitmap image = new Bitmap(1772, 945); // Graphics bg = Graphics.FromImage(image); // Image bgi = Bitmap.FromFile(AppDomain.CurrentDomain.BaseDirectory + "二维码bg.jpg"); // bg.DrawImage(bgi, 0, 0, 1772, 945); // Graphics code1 = Graphics.FromImage(image); // Image c1 = QRCode.GetDimensionalCode(codeURL + AESAlgorithm.UrlEncode(string.Format(AESCode, seatList[i + c].SeatNo, _RoomInfo.No))); // code1.DrawImage(c1, 177, 223, 530, 530); // Graphics Num1 = Graphics.FromImage(image); // Num1.DrawString(seatList[i + c].ShortSeatNo, new Font("方正兰亭粗黑_GBK", 72, FontStyle.Bold), Brushes.White, 439, 825, sf1); // Graphics code2 = Graphics.FromImage(image); // Image c2 = QRCode.GetDimensionalCode(codeURL + AESAlgorithm.UrlEncode(string.Format(AESCode, seatList[i + d].SeatNo, _RoomInfo.No))); // code2.DrawImage(c2, 1062, 223, 530, 530); // Graphics Num2 = Graphics.FromImage(image); // Num1.DrawString(seatList[i + d].ShortSeatNo, new Font("方正兰亭粗黑_GBK", 72, FontStyle.Bold), Brushes.White, 1329, 825, sf1); // Graphics logo1 = Graphics.FromImage(image); // Image logo = Bitmap.FromFile(AppDomain.CurrentDomain.BaseDirectory + "二维码logo.jpg"); // logo1.DrawImage(logo, 344, 395, 190, 190); // Graphics logo2 = Graphics.FromImage(image); // logo2.DrawImage(logo, 1234, 395, 190, 190); // Graphics NumRoom = Graphics.FromImage(image); // NumRoom.DrawString(_RoomInfo.Name, new Font("方正兰亭粗黑_GBK", 46, FontStyle.Bold), Brushes.White, 1650, 64, sf); // image.Save(savePath + _RoomInfo.Name + "_" + seatList[i + c].ShortSeatNo + "_" + seatList[i + d].ShortSeatNo + ".jpg", ImageFormat.Jpeg); // } //} //集美大学 seatList.OrderBy(v => v.SeatNo); StringFormat sf = new StringFormat(); sf.Alignment = StringAlignment.Near; StringFormat sf1 = new StringFormat(); sf1.Alignment = StringAlignment.Center; switch (codeconut) { case 1: { for (int i = 0; i < seatList.Count; i++) { Bitmap image1 = new Bitmap(744, 744); { Graphics bg = Graphics.FromImage(image1); Image bgi = Bitmap.FromFile(AppDomain.CurrentDomain.BaseDirectory + "二维码bg_JMDX_S.jpg"); bg.DrawImage(bgi, 0, 0, 744, 744); Graphics code1 = Graphics.FromImage(image1); Image c1 = QRCode.GetDimensionalCode(codeURL + AESAlgorithm.UrlEncode(string.Format(AESCode, seatList[i].SeatNo, _RoomInfo.No))); code1.DrawImage(c1, 185, 187, 375, 375); Graphics Num1 = Graphics.FromImage(image1); Num1.DrawString(seatList[i].ShortSeatNo, new Font("方正综艺简体", 100, FontStyle.Regular), Brushes.White, 388, 590, sf1); Graphics logo1 = Graphics.FromImage(image1); Image logo = Bitmap.FromFile(AppDomain.CurrentDomain.BaseDirectory + "二维码logo_JMDX.png"); logo1.DrawImage(logo, 325, 325, 98, 98); Graphics NumRoom = Graphics.FromImage(image1); NumRoom.DrawString(_RoomInfo.Name, new Font("汉仪超粗宋简", 36, FontStyle.Regular), Brushes.White, 40, 40, sf); image1.Save(savePath + _RoomInfo.Name + "_" + seatList[i].ShortSeatNo + ".jpg", ImageFormat.Jpeg); } } }; break; case 2: { for (int i = 0; i < seatList.Count; i = i + 4) { //Bitmap image = new Bitmap(1488, 1488); Bitmap image1 = new Bitmap(1488, 744); Bitmap image2 = new Bitmap(1488, 744); { Graphics bg = Graphics.FromImage(image1); Image bgi = Bitmap.FromFile(AppDomain.CurrentDomain.BaseDirectory + "二维码bg_JMDX.jpg"); bg.DrawImage(bgi, 0, 0, 1488, 744); Graphics code1 = Graphics.FromImage(image1); Image c1 = QRCode.GetDimensionalCode(codeURL + AESAlgorithm.UrlEncode(string.Format(AESCode, seatList[i + a].SeatNo, _RoomInfo.No))); code1.DrawImage(c1, 200, 187, 375, 375); Graphics Num1 = Graphics.FromImage(image1); Num1.DrawString(seatList[i + a].ShortSeatNo, new Font("方正综艺简体", 100, FontStyle.Regular), Brushes.White, 388, 590, sf1); Graphics code2 = Graphics.FromImage(image1); Image c2 = QRCode.GetDimensionalCode(codeURL + AESAlgorithm.UrlEncode(string.Format(AESCode, seatList[i + b].SeatNo, _RoomInfo.No))); code2.DrawImage(c2, 915, 187, 375, 375); Graphics Num2 = Graphics.FromImage(image1); Num1.DrawString(seatList[i + b].ShortSeatNo, new Font("方正综艺简体", 100, FontStyle.Regular), Brushes.White, 1103, 590, sf1); Graphics logo1 = Graphics.FromImage(image1); Image logo = Bitmap.FromFile(AppDomain.CurrentDomain.BaseDirectory + "二维码logo_JMDX.png"); logo1.DrawImage(logo, 340, 325, 98, 98); Graphics logo2 = Graphics.FromImage(image1); logo2.DrawImage(logo, 1057, 325, 98, 98); Graphics NumRoom = Graphics.FromImage(image1); NumRoom.DrawString(_RoomInfo.Name, new Font("汉仪超粗宋简", 46, FontStyle.Regular), Brushes.White, 70, 36, sf); image1.Save(savePath + _RoomInfo.Name + "_" + seatList[i + a].ShortSeatNo + "_" + seatList[i + b].ShortSeatNo + ".jpg", ImageFormat.Jpeg); } { Graphics bg = Graphics.FromImage(image2); Image bgi = Bitmap.FromFile(AppDomain.CurrentDomain.BaseDirectory + "二维码bg_JMDX.jpg"); bg.DrawImage(bgi, 0, 0, 1488, 744); Graphics code1 = Graphics.FromImage(image2); Image c1 = QRCode.GetDimensionalCode(codeURL + AESAlgorithm.UrlEncode(string.Format(AESCode, seatList[i + c].SeatNo, _RoomInfo.No))); code1.DrawImage(c1, 200, 187, 375, 375); Graphics Num1 = Graphics.FromImage(image2); Num1.DrawString(seatList[i + c].ShortSeatNo, new Font("方正综艺简体", 100, FontStyle.Regular), Brushes.White, 388, 590, sf1); Graphics code2 = Graphics.FromImage(image2); Image c2 = QRCode.GetDimensionalCode(codeURL + AESAlgorithm.UrlEncode(string.Format(AESCode, seatList[i + d].SeatNo, _RoomInfo.No))); code2.DrawImage(c2, 915, 187, 375, 375); Graphics Num2 = Graphics.FromImage(image2); Num1.DrawString(seatList[i + d].ShortSeatNo, new Font("方正综艺简体", 100, FontStyle.Regular), Brushes.White, 1103, 590, sf1); Graphics logo1 = Graphics.FromImage(image2); Image logo = Bitmap.FromFile(AppDomain.CurrentDomain.BaseDirectory + "二维码logo_JMDX.png"); logo1.DrawImage(logo, 340, 325, 98, 98); Graphics logo2 = Graphics.FromImage(image2); logo2.DrawImage(logo, 1057, 325, 98, 98); Graphics NumRoom = Graphics.FromImage(image2); NumRoom.DrawString(_RoomInfo.Name, new Font("汉仪超粗宋简", 46, FontStyle.Regular), Brushes.White, 70, 36, sf); image2.Save(savePath + _RoomInfo.Name + "_" + seatList[i + c].ShortSeatNo + "_" + seatList[i + d].ShortSeatNo + ".jpg", ImageFormat.Jpeg); } //Graphics img1 = Graphics.FromImage(image); //img1.DrawImage(image1, 0, 744, 1488, 744); //image2.RotateFlip(RotateFlipType.Rotate180FlipNone); //Graphics img2 = Graphics.FromImage(image); //img2.DrawImage(image2, 0, 0, 1488, 744); //image.Save(savePath + _RoomInfo.Name + "_" + seatList[i + a].ShortSeatNo + "_" + seatList[i + b].ShortSeatNo + "_" + seatList[i + c].ShortSeatNo + "_" + seatList[i + d].ShortSeatNo + ".jpg", ImageFormat.Jpeg); } }; break; case 4: { for (int i = 0; i < seatList.Count; i = i + 4) { Bitmap image = new Bitmap(1488, 1488); Bitmap image1 = new Bitmap(1488, 744); Bitmap image2 = new Bitmap(1488, 744); { Graphics bg = Graphics.FromImage(image1); Image bgi = Bitmap.FromFile(AppDomain.CurrentDomain.BaseDirectory + "二维码bg_JMDX.jpg"); bg.DrawImage(bgi, 0, 0, 1488, 744); Graphics code1 = Graphics.FromImage(image1); Image c1 = QRCode.GetDimensionalCode(codeURL + AESAlgorithm.UrlEncode(string.Format(AESCode, seatList[i + a].SeatNo, _RoomInfo.No))); code1.DrawImage(c1, 200, 187, 375, 375); Graphics Num1 = Graphics.FromImage(image1); Num1.DrawString(seatList[i + a].ShortSeatNo, new Font("方正综艺简体", 100, FontStyle.Regular), Brushes.White, 388, 590, sf1); Graphics code2 = Graphics.FromImage(image1); Image c2 = QRCode.GetDimensionalCode(codeURL + AESAlgorithm.UrlEncode(string.Format(AESCode, seatList[i + b].SeatNo, _RoomInfo.No))); code2.DrawImage(c2, 915, 187, 375, 375); Graphics Num2 = Graphics.FromImage(image1); Num1.DrawString(seatList[i + b].ShortSeatNo, new Font("方正综艺简体", 100, FontStyle.Regular), Brushes.White, 1103, 590, sf1); Graphics logo1 = Graphics.FromImage(image1); Image logo = Bitmap.FromFile(AppDomain.CurrentDomain.BaseDirectory + "二维码logo_JMDX.png"); logo1.DrawImage(logo, 340, 325, 98, 98); Graphics logo2 = Graphics.FromImage(image1); logo2.DrawImage(logo, 1057, 325, 98, 98); Graphics NumRoom = Graphics.FromImage(image1); NumRoom.DrawString(_RoomInfo.Name, new Font("汉仪超粗宋简", 46, FontStyle.Regular), Brushes.White, 70, 36, sf); //image1.Save(savePath + _RoomInfo.Name + "_" + seatList[i + a].ShortSeatNo + "_" + seatList[i + b].ShortSeatNo + ".jpg", ImageFormat.Jpeg); } { Graphics bg = Graphics.FromImage(image2); Image bgi = Bitmap.FromFile(AppDomain.CurrentDomain.BaseDirectory + "二维码bg_JMDX.jpg"); bg.DrawImage(bgi, 0, 0, 1488, 744); Graphics code1 = Graphics.FromImage(image2); Image c1 = QRCode.GetDimensionalCode(codeURL + AESAlgorithm.UrlEncode(string.Format(AESCode, seatList[i + c].SeatNo, _RoomInfo.No))); code1.DrawImage(c1, 200, 187, 375, 375); Graphics Num1 = Graphics.FromImage(image2); Num1.DrawString(seatList[i + c].ShortSeatNo, new Font("方正综艺简体", 100, FontStyle.Regular), Brushes.White, 388, 590, sf1); Graphics code2 = Graphics.FromImage(image2); Image c2 = QRCode.GetDimensionalCode(codeURL + AESAlgorithm.UrlEncode(string.Format(AESCode, seatList[i + d].SeatNo, _RoomInfo.No))); code2.DrawImage(c2, 915, 187, 375, 375); Graphics Num2 = Graphics.FromImage(image2); Num1.DrawString(seatList[i + d].ShortSeatNo, new Font("方正综艺简体", 100, FontStyle.Regular), Brushes.White, 1103, 590, sf1); Graphics logo1 = Graphics.FromImage(image2); Image logo = Bitmap.FromFile(AppDomain.CurrentDomain.BaseDirectory + "二维码logo_JMDX.png"); logo1.DrawImage(logo, 340, 325, 98, 98); Graphics logo2 = Graphics.FromImage(image2); logo2.DrawImage(logo, 1057, 325, 98, 98); Graphics NumRoom = Graphics.FromImage(image2); NumRoom.DrawString(_RoomInfo.Name, new Font("汉仪超粗宋简", 46, FontStyle.Regular), Brushes.White, 70, 36, sf); //image2.Save(savePath + _RoomInfo.Name + "_" + seatList[i + c].ShortSeatNo + "_" + seatList[i + d].ShortSeatNo + ".jpg", ImageFormat.Jpeg); } Graphics img1 = Graphics.FromImage(image); img1.DrawImage(image1, 0, 744, 1488, 744); image2.RotateFlip(RotateFlipType.Rotate180FlipNone); Graphics img2 = Graphics.FromImage(image); img2.DrawImage(image2, 0, 0, 1488, 744); image.Save(savePath + _RoomInfo.Name + "_" + seatList[i + a].ShortSeatNo + "_" + seatList[i + b].ShortSeatNo + "_" + seatList[i + c].ShortSeatNo + "_" + seatList[i + d].ShortSeatNo + ".jpg", ImageFormat.Jpeg); } }; break; } } return(true); } catch (Exception ex) { ErrorMessage = "导出失败," + ex.Message; return(false); } }