protected void Page_Load(object sender, EventArgs e)
{
CreatePicture("2010", "我是中国人们的儿子我深深的爱着我的祖国和人民", "我是中国人们的儿子我深深的爱着我的祖国和人民", @"C:\Users\wangyanfei\Pictures\1277702967234.jpg");
}
public void CreatePicture(string year, string chubpc, string kanm, string imgUrl)
{
System.Drawing.Image image = System.Drawing.Image.FromFile(imgUrl);//获取图片路径
Bitmap bmpImage = new Bitmap(image, 173, 228);
Graphics graphic = Graphics.FromImage(bmpImage);
Brush whiteBrush = new SolidBrush(Color.White); //白笔刷,画文字用
Brush blackBrush = new SolidBrush(Color.Black); //黑笔刷,画文字用
using (Font font1 = new Font("宋体", 12, FontStyle.Bold, GraphicsUnit.Point))
{
RectangleF rectF1 = new RectangleF(20, 80, 153, 50);
graphic.DrawString(kanm, font1, blackBrush, rectF1);//建立一个矩形 让其在里面换行
RectangleF rectF2 = new RectangleF(120, 200, 53, 50);
graphic.DrawString(year, font1, blackBrush, rectF2);
RectangleF rectF3 = new RectangleF(120, 180, 53, 50);
graphic.DrawString(chubpc, font1, blackBrush, rectF3);
}
MemoryStream ms = new MemoryStream();
bmpImage.Save("D:/1.jpg", ImageFormat.Jpeg);
//保存为Jpg类型
//return ms;
}
string text1 = "Draw text in a rectangle by passing a RectF to the DrawString method.";
using (Font font1 = new Font("Arial", 12, FontStyle.Bold, GraphicsUnit.Point))
{
RectangleF rectF1 = new RectangleF(30, 10, 100, 122);
e.Graphics.DrawString(text1, font1, Brushes.Blue, rectF1);
e.Graphics.DrawRectangle(Pens.Black, Rectangle.Round(rectF1));
}
string text2 = "Draw text in a rectangle by passing a RectF to the DrawString method.";
using (Font font2 = new Font("Arial", 12, FontStyle.Bold, GraphicsUnit.Point))
{
Rectangle rect2 = new Rectangle(30, 10, 100, 122);
// Specify the text is wrapped.
TextFormatFlags flags = TextFormatFlags.WordBreak;
TextRenderer.DrawText(e.Graphics, text2, font2, rect2, Color.Blue, flags);
e.Graphics.DrawRectangle(Pens.Black, Rectangle.Round(rect2));
}
分享到:
相关推荐
StaticLayout是android中处理文字换行的一个工具类,StaticLayout已经实现了文本绘制换行处理,下面是如何使用StaticLayout的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。...
图像处理资源ImageCombiner是一个专门用于Java服务端图片合成的工具,没有很复杂的功能,简单实用,从实际业务场景出发,提供简单的接口,几行代码即可实现图片拼合(当然用于合成水印也可以),素材上支持图片、...
Canvas 文字换行 Canvas 图片圆角问题 Canvas 设置边框问题 Canvas 显示模糊问题 Canvas 宽高问题 NPM npm Getting started npm developer guide npm 发布包遇到的问题 本地包调试 :npm link API Mouse Events & ...
37、在Excel中实现自动换行 89 38、汉字输入法的若干诀窍 89 39、用Word2000对称页边距进行双面打印 89 40、Excel玩“转置” 89 41、Excel轻松排序 89 42、Word中实现表格标题重复 89 43、Excel中实现表格标题分页...
主要内容有C#开发环境的使用、C#语言基础应用、字符串处理技术、数组和集合的使用、面向对象编程技术、数据结构与算法、Windows窗体基础、特色...图形绘制、图像处理技术、常用图表应用、动画处理技术、音频与视频控制...
NEAT 开 发 指南 文档 适用于 PT80 系列 移动数据终端 版本记录 版本号 版本描述 发布日期 V 1.0 初始版本。 2012-04-12 V1.1 修改前三章内容 2012-09-25 目录 第一章 关于本手册.....................................
3.3.2 取消文字换行标记——nobr 52 3.3.3 换行标记——br 53 3.3.4 保留原始排版方式标记——pre 53 3.3.5 居中对齐标记——center 54 3.3.6 向右缩进标记——blockquote 55 3.4 水平线标记 56 3.4.1...
实例108 如何在图片上平滑移动文字 3.9 图像管理 实例109 管理计算机内图片文件的程序 实例110 提取并保存应用程序图标 3.10 图片动画 实例111 利用图片制作屏幕保护程序 实例112 图片动画 3.11 简单游戏...
实例108 如何在图片上平滑移动文字 3.9 图像管理 实例109 管理计算机内图片文件的程序 实例110 提取并保存应用程序图标 3.10 图片动画 实例111 利用图片制作屏幕保护程序 实例112 图片动画 3.11 简单游戏...
6. 在独立的窗口中处理内嵌式图表 31 7. 在图表中显示隐藏数据 31 8. 在图表中增加文本框 31 9. 建立文本与图表文本框的链接 31 10. 给图表增加新数据系列 31 11. 快速修改图表元素的格式 32 12. 创建复合图表 32 13...
110. 在独立的窗口中处理内嵌式图表 62 111. 在图表中显示隐藏数据 62 112. 在图表中增加文本框 63 113. 建立文本与图表文本框的链接 63 114. 给图表增加新数据系列 64 115. 快速修改图表元素的格式 65 116. 创建...
6. 在独立的窗口中处理内嵌式图表 31 7. 在图表中显示隐藏数据 31 8. 在图表中增加文本框 31 9. 建立文本与图表文本框的链接 31 10. 给图表增加新数据系列 31 11. 快速修改图表元素的格式 32 12. 创建复合图表 32 13...
110. 在独立的窗口中处理内嵌式图表 45 111. 在图表中显示隐藏数据 45 112. 在图表中增加文本框 45 113. 建立文本与图表文本框的链接 46 114. 给图表增加新数据系列 46 115. 快速修改图表元素的格式 47 116. 创建...
6. 在独立的窗口中处理内嵌式图表 31 7. 在图表中显示隐藏数据 31 8. 在图表中增加文本框 31 9. 建立文本与图表文本框的链接 31 10. 给图表增加新数据系列 31 11. 快速修改图表元素的格式 32 12. 创建复合图表 32 13...