zoukankan      html  css  js  c++  java
  • 【C#】把TextBox的文字转成图片

    通过系统Graphics绘图把文字绘制到位图上,然后显示或保存起来,这里用定义该函数

            /// <summary>
            /// 把文字转换才Bitmap
            /// </summary>
            /// <param name="text"></param>
            /// <param name="font"></param>
            /// <param name="rect">用于输出的矩形,文字在这个矩形内显示,为空时自动计算</param>
            /// <param name="fontcolor">字体颜色</param>
            /// <param name="backColor">背景颜色</param>
            /// <returns></returns>
            private Bitmap TextToBitmap(string text, Font font, Rectangle rect, Color fontcolor, Color backColor)
            {
                Graphics g;
                Bitmap bmp;
                StringFormat format = new StringFormat(StringFormatFlags.NoClip);
                if (rect == Rectangle.Empty)
                {
                    bmp = new Bitmap(1, 1);
                    g = Graphics.FromImage(bmp);
                    //计算绘制文字所需的区域大小(根据宽度计算长度),重新创建矩形区域绘图
                    SizeF sizef = g.MeasureString(text, font, PointF.Empty, format);
    
                    int width = (int)(sizef.Width + 1);
                    int height = (int)(sizef.Height + 1);
                    rect = new Rectangle(0, 0, width, height);
                    bmp.Dispose();
    
                    bmp = new Bitmap(width, height);
                }
                else
                {
                    bmp = new Bitmap(rect.Width, rect.Height);
                }
    
                g = Graphics.FromImage(bmp);
    
                //使用ClearType字体功能
                g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
                g.FillRectangle(new SolidBrush(backColor), rect);
                g.DrawString(text, font, Brushes.Black, rect, format);
                return bmp;
            }

    把textbox1文本的内容输出为jpg图片

                //获取文本
                string text = this.textbox1.Text;
    
                //得到Bitmap(传入Rectangle.Empty自动计算宽高)
                Bitmap bmp = TextToBitmap(text, this.textbox1.Font, Rectangle.Empty, this.textbox1.ForeColor, this.textbox1.BackColor);
                
                //用PictureBox显示
                this.pbTextView.Image = bmp;
    
                //保存到桌面save.jpg
                string directory = System.Environment.GetFolderPath(System.Environment.SpecialFolder.DesktopDirectory);
                bmp.Save(directory + "\\save.jpg", ImageFormat.Jpeg);
  • 相关阅读:
    PHP 使用 GET 传递数组变量
    Java实现 蓝桥杯 算法训练 数据交换
    Java实现 蓝桥杯 算法训练 数据交换
    Java实现 蓝桥杯 算法训练 数据交换
    Java实现 蓝桥杯 算法训练 景点游览
    Java实现 蓝桥杯 算法训练 景点游览
    Java实现 蓝桥杯 算法训练 景点游览
    Java实现 蓝桥杯 算法训练 二进制数数
    Java实现 蓝桥杯 算法训练 二进制数数
    Java实现 蓝桥杯 算法训练 二进制数数
  • 原文地址:https://www.cnblogs.com/bomo/p/2932700.html
Copyright © 2011-2022 走看看