前一篇讲解了利用gg包来进行图片旋转的操作,这一篇我们来看看怎么在图片上添加文字。
原文地址:http://www.devexpresscn.com/devResources/page-18-78.html
最近工作很是郁闷,有做WEB又要改桌面程序,要求之前基于DevExpress报表打印改成 DataGridView呈现数据 ,配置30分钟提醒用户打印,我发现我是越来越懒了,主要是情绪不好,什么问题 第一反应肯定谷歌之然后自己封装下,无暇思考,万能的谷歌啊
GitHub:https://github.com/kwwwvagaa/NetWinformControl
DrawString是C#中Graphics类的一个方法,用于在指定的位置绘制文本。在WinForm应用程序中使用DrawString,可以在窗体或控件上绘制文本。
今天有朋友请教在CS的WinForm中如何打印DataGridView中的内容。 网上搜索一番之后,还是在藏宝库CodeProject中找到一篇好文章《DataGridView Printing by Selecting Columns and Rows》(http://www.codeproject.com/KB/grid/PrintDataGrid_CS.aspx) 效果图 【打印设置画面】
根据控件大小进行截断 private void SetStringTruncat(Static.LabelEx lbl) { string oldStr = lbl.Text; if (string.IsNullOrEmpty(oldStr)) return; Graphics g = lbl.CreateGraphics(); string strNewSt
这一篇将继续介绍gg库中绘制文字相关的方法,主要包括:DrawStringAnchored()、DrawStringWrapped()、MeasureMultilineString()、WordWrap()下面来分别进行介绍。
好多开发者在做Windows平台特别是单屏多画面显示时,希望像监控摄像机一样,可以在播放画面添加OSD台标,以实现字符叠加效果,大多开发者可很轻松的实现以上效果,针对此,本文以大牛直播SDK (Github)的Windows平台demo为例,简单介绍下具体实现:
在 http://www.codeproject.com/KB/edit/AlphaBlendedTextControls.aspx 的基础上增加了水印文字
生成文字图片: 1 /// 2 /// 生成文字图片 3 /// 4 /// <param name="text"></param> 5 /// <param name="isBold"></param> 6 /// <param name="fontSize"></param> 7 public Image CreateImage(stri
usingSystem;usingSystem.Windows.Forms;usingSyst运维
在Web应用开发中,经常需要实现PDF文件的加载和显示功能。本文小编将为您介绍如何在ASP.NET Core中实现这一功能,以便用户可以在Web应用中查看和浏览PDF文件。
如果没有一个外部组件的支持,在ASP中是不能动态创建图形的,不管它是一个图表,一个横幅或仅仅是一个图形计数器。可喜的是,这一点在ASP.NET中改变了。现在,我们只需要使用内置功能,就能够很容易动态创建图形,并向客户端发送具有最佳配置的图形。 用命令行程序创建图形 在讨论一大堆ASP.NET代码之前,我们先执行一个简单的命令行程序做一个测试,然后使用这些源代码作为 ASP.NET 脚本的基础。实际上,两者的区别在于:命令行程序将图形保存在一个文件中,而ASP.NET 脚本将图形直接发送到客户端。 举例的程序做什么呢?按照惯例,我们从众所周知的"Hello World" 程序开始,把这个文本信息输出到一个图形文件中,这个图形的大小要与当前选中的 "Hello World" 文本的字体和字号完全相同。 下面的脚本pagecounter.cs是一个典型的简单命令行程序:如果忽略包围在其周围的必须的类代码,就只剩下程序运行时要调用的主函数了,这也正是生成图形的代码所在处: using System; using System.IO; using System.Drawing; using System.Drawing.Imaging; public class CTestBitmapFunctionality { public static void Main() { Bitmap newBitmap = null; Graphics g = null ; try { Font fontCounter = new Font("Lucida Sans Unicode", 12); // calculate size of the string. newBitmap = new Bitmap(1,1,PixelFormat.Format32bppARGB); g = Graphics.FromImage(newBitmap); SizeF stringSize = g.MeasureString("Hello World", fontCounter); int nWidth = (int)stringSize.Width; int nHeight = (int)stringSize.Height; g.Dispose(); newBitmap.Dispose(); newBitmap = new Bitmap(nWidth,nHeight,PixelFormat.Format32bppARGB); g = Graphics.FromImage(newBitmap); g.FillRectangle(new SolidBrush(Color.White), new Rectangle(0,0,nWidth,nHeight)); g.DrawString("Hello World", fontCounter, new SolidBrush(Color.Black), 0, 0); newBitmap.Save("c://test.png", ImageFormat.PNG); } catch (Exception e) { Console.WriteLine(e.ToString()); } finally { if (null != g) g.Dispose(); if (null != newBitmap) newBitmap.Dispose(); } } } 在任何情况下,执行上面代码后,就会生成下面的图形test.png,它将存放在C驱动器上: 我们来仔细研究一下源代码,看看这个图形是如何创建的。关键一点是生成的图形必须与文本 "Hello World" 的字体和字号相同。因此,首先要计算文本的尺寸,为此我们使用了一个尺寸为1 x 1的虚拟图形。计算结束之后,再废弃这个虚拟图形并生成一个适当尺寸的图形。 源代码中有一点很有趣,这就是 Graphics 对象。要创建一个位图时,用这个对象做什么呢?奥妙在于:这是可以向其中绘图的上下文环境。我们可以在屏幕上、打印机上和内存中使用一个图形上下文环境,准确地说就是一个位图。图形的上下文环境使我们能够在任何设备上进行绘图操作,甚至是在虚拟设备上。 接着,用DrawString将文本 "Hello World"按照规格输出到一个白色背景的矩形(用 FillRectangle创建的)中。图形完成后,将其保存在磁盘上。凡是亲自研究过图形文件格式的人都知道这有多困难,但是使用 GDI+
在某些应用项目(如电子档案信息管理)中,查看电子图片信息是经常使用到的功能,此时我们就需要给显示在浏览器中的图片添加文字水印版权或提示信息。增加水印主要起到如下作用:
在我们的一些发布系统项目应用中,会经常发布一些链接图标,该图标基本上以模板背景为主,并填充项目文字内容。解决方式一般会让美工进行制作处理,但当模板化以后,问题的焦点则集中在文字的显示上,因些利用程序控制文字自动填充模板背景图片,可以自动化的解决需求。
其实使用GDI+画报表也比较简单,只要设定好坐标就行了 下面给个例子看看 1 private void button9_Click(object sender, EventArgs e) 2 { 3 printDialog1.ShowDialog(); //设置打印文档 4 printPreviewDialog1.Document = this.printDocument1; 5 printPre
/// /// 获取一个图片按等比例缩小后的大小。 /// ///<param name="maxWidth">需要缩小到的宽度</param> ///<param name="maxHeight">需要缩小到的高度</param> ///<param name="imageOriginalWidth">图片的原始宽度</param> ///<param name="imageOriginalHeight">图片的原始高度</param> ///<returns>返回图
闲话休提~ 一:自定义Tab按钮 如图所示 📷 我们的tab按钮左部是文字;右部是关闭按钮; 此按钮有两种状态:选中和未选中 未选中的按钮鼠标滑上背景色会变为淡蓝色; 选中的按钮背景色是黄色 关闭按钮鼠标滑上去是深黄色 控件中涉及的属性和公开的事件属性 /// /// Tab标题 /// public string Caption; /// /// 是否选中
本文大部分内容来自http://www.codeproject.com/Articles/710747/First-thoughts-on-Spire-Doc-for-NET。
二维码是一种能够存储数据的编码形式,它可以被扫描器快速识别和解码。二维码通常由黑白相间的方格组成,可以将文本、网址、电子邮件、电话号码等信息编码成矩阵条码的形式,从而方便用户获取信息。二维码的应用范围非常广泛,如商业、广告、新闻、公共交通系统等领域。
如果不进行页面大小的设置,默认是纵向的A4大小。横向的A4的页面大小 ,如果要纵向,宽高两个值调换即可。
领取专属 10元无门槛券
手把手带您无忧上云