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));
}
分享到:
相关推荐
综上所述,实现“图片文字自动换行打印预览”功能涉及VB.NET的图形绘制、文本处理、页面布局、打印服务等多个方面的知识。开发者需要熟练掌握这些技术,才能创建出功能完善、用户体验良好的应用程序。
使用Canvas对象,我们可以调用`drawBitmap()`来绘制图片,`drawText()`来绘制文字。同时,我们还需要考虑到文字的对齐方式、字体大小、颜色等因素,可能需要创建一个Paint对象来设置这些属性。 对于自动换行,可以...
文字水印涉及在图像上绘制文字,需要调整字体、颜色、透明度和角度;蒙版水印则是在图像上覆盖一层半透明的图案或颜色;logo图片水印则是将一个图片作为水印,通常设置合适的透明度并定位到合适的位置。 3. **文字...
这个"php文字水印,支持自动换行"的功能提供了一种高效且灵活的方式,它允许我们轻松地在图片上添加文字,并根据需要进行智能的换行处理。下面我们将详细探讨这个功能的实现原理和相关技术点。 首先,`image.class....
- 将第二幅图片绘制到新`Bitmap`的底部,同样使用`Graphics.DrawImage`方法,但这次的目标位置是在第一幅图片的下边。 - 保存合并后的`Bitmap`为新的图片文件。 在`D:\MyProject\CreateImage\NewFile`路径下,你...
这个压缩包“C#在图片上绘制文字完整实例源码_65.rar”提供了相关的源代码,可以帮助开发者理解和实现这一功能。下面将详细解释如何在C#中进行图片上的文字绘制。 首先,你需要导入必要的命名空间,这通常包括`...
本项目使用了GDI+(Graphics Device Interface Plus)技术来实现这一功能,GDI+是.NET Framework提供的一个图形处理库,能够绘制图形、文字、图像等元素。 首先,我们要理解如何利用GDI+来处理文本。在C#中,`...
通过分析和实践这个"C#404-图片上绘制文字"的源代码,你可以掌握在C#中处理图像和进行图形绘制的基础知识,这对于开发涉及图像处理的应用程序或组件非常有用。同时,这也是深入学习C#图形编程的一个良好起点,为后续...
通过这个实例源码,开发者不仅可以学习到如何在C#中利用GDI+在图片上绘制文字,还可以进一步了解图像处理的基本概念和技巧,为更复杂的图形应用打下基础。在实际项目中,可以结合这些知识创建个性化的图像处理工具或...
这个“C#在图片上绘制文字完整实例源码”应该提供了一个完整的示例,帮助开发者了解如何在.NET框架下使用C#语言和GDI+(Graphics Device Interface Plus)库来实现这一功能。以下是对这个主题的详细解释: 首先,...
在C#编程中,将文字绘制到...总的来说,C#在图片上绘制文字是图像处理中的基础操作,结合其他图形处理技术,可以构建出强大的图像应用。这个实例源码是一个很好的学习起点,有助于提升开发者在C#图形编程方面的能力。
在C#编程中,图像操作是一项常见的任务,其中包括在图片上绘制文字。这通常涉及到GDI+(Graphics Device Interface Plus)库的使用,它是.NET Framework的一部分,提供了丰富的图形处理功能。下面将详细介绍如何利用...
这个" C#在图片上绘制文字完整实例源码_(0601).rar "文件可能包含了一个完整的示例项目,帮助开发者了解如何在C#中实现这一功能。下面我们将深入探讨相关的知识点。 1. **GDI+**:在C#中,我们通常使用Graphics ...
这里需要注意的是,文本的自动换行已经被`autowrap()`函数处理过,所以可以直接绘制。最后,通过`imagepng()`函数输出PNG图像,并使用`imagedestroy()`释放内存。 在实际应用中,我们可能需要处理不同编码的文本,...
`imagick-demo` 是一个基于 PHP 的项目,利用 Imagick 扩展库来实现图像处理功能,包括绘制图片、生成二维码以及处理文字换行。Imagick 是一个强大的 PHP 图像处理工具,它提供了对 ImageMagick 图像处理库的接口,...
MTextView是针对原生Android TextView进行优化的一个类,它专门处理了提前换行的问题,尤其是在处理含有图片、特殊符号或复杂排版的文本时。这个自定义视图通常会提供更精确的文本测量和布局计算方法,以确保文字...
你可以创建一个Canvas对象,然后调用其`drawText()`方法来在指定的位置绘制文字。这个方法需要提供文字内容、字体大小、颜色以及起始坐标。 3. **Paint设置**:Paint是Android中的画笔对象,用于定义绘制的样式,如...
在Java开发中,有时我们需要对图片进行处理,例如添加文字或二维码,然后将处理后的图片以流的形式传递给前端展示。这个过程涉及到多个技术点,包括图像处理、文件读取以及HTTP响应。以下是对这些知识点的详细解释:...
4. **绘制文字**:最终将文字绘制到图片上。 #### 实现步骤 1. **环境准备**: - 安装`PIL`库:可以通过`pip install pillow`命令安装。 - 准备字体文件:这里使用了一个名为`micross.ttf`的字体文件,确保该...