当前位置:主页 > 软件编程 > .NET代码 >

c#实现把汉字转为带田字格背景的jpg图片

时间:2020-11-13 09:20:14 | 栏目:.NET代码 | 点击:

复制代码 代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Drawing;
using System.IO;

namespace 文字图片生成程序
{
    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
       static void checkdir()
        {
            string path="C:\\Users\\Default\\tran";
            if (!Directory.Exists(path))//判断目录是否存在
            {
                Directory.CreateDirectory(path);
            }
        }
        [STAThread]
        static void Main()
        {
            Program.checkdir();
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());

        }


    }
    class Program1
    {
        private float hor=0.46f;//
        public static string src = null;
        public void setting(float[] z)
        {
            this.hor = z[5];//文字比例


            //线条比例
            //虚线比例
            //粗细比例
            //上下位置
            //左右位置
            //边框边界  bool
        }
        public void CreateImage(string lf,string content,int w,Color gezi,Color bg,Color ziti_a,Color ziti_b,string ziti,bool flag_b)
        {

            Font font;
            //创建一个位图对象
            Bitmap image = new Bitmap(w, w);
            //创建Graphics
            Graphics g = Graphics.FromImage(image);
            try
            {
                //清空图片背景颜色
                g.Clear(bg);
                if (!flag_b)
                    font = new Font(ziti, w * 0.65f);
                else
                    font = new Font(ziti, w * 0.65f, (FontStyle.Bold));
                System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), ziti_a, ziti_b, 4.0f, true);
                //画图片的边框线
                g.DrawRectangle(new Pen(gezi, w * 0.007f), w * 0.03f, w * 0.03f, w * 0.94f, w * 0.94f);
                //画虚线
                Pen pen1 = new Pen(gezi, w * 0.007f);
                pen1.DashStyle = System.Drawing.Drawing2D.DashStyle.Custom;
                pen1.DashPattern = new float[] { w * 0.012f, w * 0.008f };
                g.DrawLine(pen1, w * 0.03f, w * 0.03f, w * 0.97f, w * 0.97f);
                g.DrawLine(pen1, w * 0.97f, w * 0.03f, w * 0.03f, w * 0.97f);
                g.DrawLine(pen1, w * 0.03f, w * 0.5f, w * 0.97f, w * 0.5f);
                g.DrawLine(pen1, w * 0.5f, w * 0.03f, w * 0.5f, w * 0.97f);
                StringFormat sf = new StringFormat();
                sf.Alignment = StringAlignment.Center;
                sf.LineAlignment = StringAlignment.Center;

                g.DrawString(content, font, brush, w*hor, w * 0.63f, sf);
                src = lf + content + ".jpg";

                image.Save(src);

              
            }
            finally
            {
                g.Dispose();
                image.Dispose();
            }
        }

    }

}

您可能感兴趣的文章:

相关文章