C# GDI+文字画图 添加任意角度文字(文字旋转是中心旋转,角度顺时针为正)

 public Bitmap AddText(string DrawText)
        {
            Bitmap bmp = new Bitmap(350, 300);
            Graphics g = Graphics.FromImage(bmp);
            Rectangle rect = new Rectangle(0, 0, bmp.Width, bmp.Height);//定义矩形,参数为起点横纵坐标以及其长和宽
                                                                        //单色填充

    //背景色
            SolidBrush b1 = new SolidBrush(Color.FromArgb(10, Color.White));//定义单色画刷          
            g.FillRectangle(b1, rect);//填充这个矩形

            //设置文本输出质量
            g.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;
            g.SmoothingMode = SmoothingMode.AntiAlias;
            Font newFont = new Font("微软雅黑", 100);
    

       //文字颜色
            SolidBrush colorBrush = new SolidBrush(Color.FromArgb(30, Color.Gray));
           

            //g.ResetTransform();
    //调整文字位置
            SizeF sf = g.MeasureString(DrawText, newFont);
            g.TranslateTransform(0 + sf.Width / 2, 20 + sf.Height / 2);//旋转
            g.RotateTransform(-30);//旋转角度
            g.TranslateTransform(-(40 + sf.Width / 2), -(0 + sf.Height / 2));//旋转复位

            //绘制前景
            g.DrawString(DrawText, newFont, colorBrush, new PointF(0, 0));
            bmp.MakeTransparent();//背景设置透明

            string path = @"D:\工作资料\YJY\JTCOD.png";
            bmp.Save(path, System.Drawing.Imaging.ImageFormat.Png);
            return bmp;
        }

 

C# 使用 GDI+ 实现添加中心旋转(任意角度)的文字

https://www.cnblogs.com/dandelion-drq/p/csharp_use_gdiplus_to_rotate_text.html  

c# gdi设置画刷透明

https://www.cnblogs.com/y114113/p/6946035.html

posted @ 2020-11-29 12:04  LuoCore  阅读(601)  评论(0编辑  收藏  举报