public static void Txt2Img(TxtObject Obj) { try { Bitmap bmp = new Bitmap(Obj.ImgWidth, Obj.ImgHeight); Graphics g = Graphics.FromImage(bmp); StringFormat sf = new StringFormat(); // sf.LineAlignment = StringAlignment.Center; sf.Alignment = StringAlignment.Center; Font f = new Font(Obj.FntName, Obj.FntSize, Obj.FntStyle, GraphicsUnit.Point); Pen p = new Pen(ColorTranslator.FromHtml(Obj.ForeColorCode), Obj.BrushWidth); p.LineJoin = LineJoin.Round; Rectangle fr = new Rectangle(0, 0, bmp.Width, f.Height); LinearGradientBrush b = new LinearGradientBrush(fr, ColorTranslator.FromHtml(Obj.BrushGradientStartColor), ColorTranslator.FromHtml(Obj.BrushGradientEndColor), Obj.GradientAngel); Rectangle r = new Rectangle(Obj.MarginX, Obj.MarginY, bmp.Width, bmp.Height); GraphicsPath gp = new GraphicsPath(); gp.AddString(Obj.Text, f.FontFamily, (int)f.Style, Obj.FntSize, r, sf); g.SmoothingMode = SmoothingMode.AntiAlias; g.PixelOffsetMode = PixelOffsetMode.HighQuality; g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit; g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality; g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality; g.TextContrast = 0; g.DrawPath(p, gp); g.FillPath(b, gp); bmp.Save(Obj.CompleteFileName, Obj.ImgFormat); bmp.Dispose(); gp.Dispose(); b.Dispose(); f.Dispose(); sf.Dispose(); g.Dispose(); } catch (Exception Exp) { System.Windows.Forms.MessageBox.Show(Exp.Message); } }
private void button1_Click(object sender, EventArgs e) { timer1.Enabled = false; button1.ForeColor = Color.White; button1.Text = "Started"; button1.BackColor = Color.Red; if (richTextBox1.Lines.Length > 500) { richTextBox1.Text = ""; } richTextBox1.Text += "START: " + DateTime.Now.ToString() + " \n"; richTextBox1.SelectionStart = richTextBox1.Text.Length; richTextBox1.ScrollToCaret(); Application.DoEvents(); CONDUCTORTableAdapter Cond_Ta = new CONDUCTORTableAdapter(); string NewRowId = Cond_Ta.Insert_Cond("conductor01", "AFTER MACHINE", "0", " پیش بینی آب و هوای شهرهای ایران **** " + string.Format("{0:00}", DateTime.Now.Hour) + ":" + string.Format("{0:00}", DateTime.Now.Minute), "پیش بینی آب و هوای شهرهای ایران - اتوماتیک", "1", "1", System.Configuration.ConfigurationSettings.AppSettings["ConductorId"].Trim(), "0", "", "RENDERSRV").ToString(); // string NewRowId = "0"; string CitiesRoot = System.Configuration.ConfigurationSettings.AppSettings["CitiesRoot"]; string ConditionsSourceFolder = System.Configuration.ConfigurationSettings.AppSettings["ConditionsSourceFolder"]; weather_TempTableAdapter W_Ta = new weather_TempTableAdapter(); MyDB.weather_TempDataTable W_Dt = W_Ta.LoadCities(); TxtObject TObj = new TxtObject(); TObj.BrushGradientEndColor = "#ffffff"; TObj.BrushGradientStartColor = "#ffffff"; TObj.BrushWidth = 3; TObj.FntName = System.Configuration.ConfigurationSettings.AppSettings["FontName"]; TObj.FntSize = int.Parse(System.Configuration.ConfigurationSettings.AppSettings["FontSize"]); TObj.FntStyle = FontStyle.Regular; TObj.ForeColorCode = "#ffffff"; TObj.GradientAngel = 0; TObj.ImgFormat = System.Drawing.Imaging.ImageFormat.Png; TObj.ImgHeight = 161; TObj.ImgWidth = 180; TObj.MarginX = 0; TObj.MarginY = 0; XmlDocument XCitiesDoc = new XmlDocument(); string CitiesXmlPath = Path.GetDirectoryName(Application.ExecutablePath) + "\\Cities.xml"; if (File.Exists(CitiesXmlPath)) { XCitiesDoc.Load(CitiesXmlPath); XmlNodeList CitiesLst = XCitiesDoc.GetElementsByTagName("Location"); foreach (XmlNode Nd in CitiesLst) { string CityId = Nd.Attributes["name"].Value; foreach (DataRow item in W_Dt) { if (item["text"].ToString().Trim() == CityId) { TObj.Text = item["maxt"].ToString().Trim(); TObj.CompleteFileName = CitiesRoot + "\\" + Nd.Attributes["CityPath"].Value + "\\C - mAX.png"; Utilities.Txt2Img(TObj); TObj.Text = item["mint"].ToString().Trim(); TObj.CompleteFileName = CitiesRoot + "\\" + Nd.Attributes["CityPath"].Value + "\\C - mIN.png"; Utilities.Txt2Img(TObj); File.Copy(ConditionsSourceFolder + "\\" + item["img"].ToString().Trim() + ".avi", CitiesRoot + "\\" + Nd.Attributes["CityPath"].Value + "\\7000.avi", true); } } } //Start Render RenderObject RndObj = new RenderObject(); RndObj.AeProjectPath = System.Configuration.ConfigurationSettings.AppSettings["AeProjectFile"]; RndObj.AeRenderPath = System.Configuration.ConfigurationSettings.AppSettings["AeRenderPath"]; RndObj.CompositionName = System.Configuration.ConfigurationSettings.AppSettings["Composition"]; RndObj.DestDirectory = System.Configuration.ConfigurationSettings.AppSettings["OutputPath"]; RndObj.DestFullFileName = System.Configuration.ConfigurationSettings.AppSettings["OutputPathFile"]; try { File.Delete(System.Configuration.ConfigurationSettings.AppSettings["OutputPathFile"]); } catch { } StreamReader reader = Utilities.Renderer(RndObj); int Lngth = richTextBox1.Text.Length; string line; while ((line = reader.ReadLine()) != null) { richTextBox1.Text = richTextBox1.Text.Remove(Lngth, richTextBox1.Text.Length - Lngth); richTextBox1.SelectionStart = richTextBox1.Text.Length; richTextBox1.ScrollToCaret(); Application.DoEvents(); richTextBox1.AppendText(line + " >> FROM : 2195 FRAMES"); richTextBox1.SelectionStart = richTextBox1.Text.Length; richTextBox1.ScrollToCaret(); Application.DoEvents(); } richTextBox1.Text = richTextBox1.Text.Remove(Lngth, richTextBox1.Text.Length - Lngth); richTextBox1.SelectionStart = richTextBox1.Text.Length; richTextBox1.ScrollToCaret(); Application.DoEvents(); string PlayOutFolderDate = string.Format("{0:0000}", DateTime.Now.Year) + string.Format("{0:00}", DateTime.Now.Month) + string.Format("{0:00}", DateTime.Now.Day); string PlayOutFolder = System.Configuration.ConfigurationSettings.AppSettings["PlayOutRoot"] + "\\" + PlayOutFolderDate; if (!Directory.Exists(PlayOutFolder + "\\THUMB")) { Directory.CreateDirectory(PlayOutFolder + "\\THUMB"); } if (!Directory.Exists(PlayOutFolder + "\\VIDEO")) { Directory.CreateDirectory(PlayOutFolder + "\\VIDEO"); } string PlyFileName = Cond_Ta.INSERT_PLAYOUT01("playout01", NewRowId, "1", "00:01:26", "S:\\PLAYOUT\\" + PlayOutFolderDate, "1", "1" ).ToString(); richTextBox1.Text += "COPY: " + PlayOutFolder + "\\VIDEO\\" + PlyFileName + ".avi" + "\n"; richTextBox1.SelectionStart = richTextBox1.Text.Length; richTextBox1.ScrollToCaret(); Application.DoEvents(); File.Copy(System.Configuration.ConfigurationSettings.AppSettings["OutputPathFile"], PlayOutFolder + "\\VIDEO\\" + PlyFileName + ".avi"); richTextBox1.Text += "COPY: " + PlayOutFolder + "\\VIDEO\\" + PlyFileName + ".wav" + "\n"; richTextBox1.SelectionStart = richTextBox1.Text.Length; richTextBox1.ScrollToCaret(); Application.DoEvents(); File.Copy(Path.GetDirectoryName(Application.ExecutablePath) + "\\w.wav", PlayOutFolder + "\\VIDEO\\" + PlyFileName + ".wav"); richTextBox1.Text += "COPY: " + PlayOutFolder + "\\THUMB\\" + PlyFileName + ".jpg" + "\n"; richTextBox1.SelectionStart = richTextBox1.Text.Length; richTextBox1.ScrollToCaret(); Application.DoEvents(); File.Copy(Path.GetDirectoryName(Application.ExecutablePath) + "\\w.jpg", PlayOutFolder + "\\THUMB\\" + PlyFileName + ".jpg"); Cond_Ta.Update_FileName("playout01", PlyFileName, PlyFileName); Cond_Ta.Update_Active("conductor01", NewRowId); } richTextBox1.Text += "END: " + DateTime.Now.ToString() + " \n"; richTextBox1.Text += " ======================================== \n"; richTextBox1.SelectionStart = richTextBox1.Text.Length; richTextBox1.ScrollToCaret(); Application.DoEvents(); button1.ForeColor = Color.White; button1.Text = "Start"; button1.BackColor = Color.Navy; timer1.Enabled = true; }