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);
  • 相关阅读:
    IOS 使用动态库(dylib)和动态加载framework
    iOS 开发者应该知道的 ARM 结构
    解惑好文:移动端H5页面高清多屏适配方案
    js 单例模式的实现方式----闭包和构造函数内部判断
    解决express video 手机无法播放的问题
    前后端通吃的单元测试---mocha
    swift-ios开发pod的使用(1)
    UI 自动化测试工具BackstopJS简介(1)
    阿里妈妈-RAP项目的实践(3)
    阿里妈妈-RAP项目的实践(2)
  • 原文地址:https://www.cnblogs.com/bomo/p/2932700.html
Copyright © 2011-2022 走看看