`

图片上绘制文字换行处理

阅读更多
 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));

}
 
分享到:
评论
2 楼 wyf 2011-09-25  
zcl920 写道
只能说 看不懂。要发就发全 取一段出来 有什么用。

原理其实就是 绘制一个矩形 文字放到矩形里面即可换行了!
1 楼 zcl920 2011-09-22  
只能说 看不懂。要发就发全 取一段出来 有什么用。

相关推荐

    vb.net 图片文字自动换行打印预览

    综上所述,实现“图片文字自动换行打印预览”功能涉及VB.NET的图形绘制、文本处理、页面布局、打印服务等多个方面的知识。开发者需要熟练掌握这些技术,才能创建出功能完善、用户体验良好的应用程序。

    java实现图片上传并添加水印效果(文字水印,蒙版,logo图片),自动进行文字大小行数位置匹配 ,文字自动换行

    文字水印涉及在图像上绘制文字,需要调整字体、颜色、透明度和角度;蒙版水印则是在图像上覆盖一层半透明的图案或颜色;logo图片水印则是将一个图片作为水印,通常设置合适的透明度并定位到合适的位置。 3. **文字...

    图片+文本自动换行

    使用Canvas对象,我们可以调用`drawBitmap()`来绘制图片,`drawText()`来绘制文字。同时,我们还需要考虑到文字的对齐方式、字体大小、颜色等因素,可能需要创建一个Paint对象来设置这些属性。 对于自动换行,可以...

    php文字水印,支持自动换行

    这个"php文字水印,支持自动换行"的功能提供了一种高效且灵活的方式,它允许我们轻松地在图片上添加文字,并根据需要进行智能的换行处理。下面我们将详细探讨这个功能的实现原理和相关技术点。 首先,`image.class....

    实现简单的文字生成图片换行,实现2张图片上下拼接

    - 将第二幅图片绘制到新`Bitmap`的底部,同样使用`Graphics.DrawImage`方法,但这次的目标位置是在第一幅图片的下边。 - 保存合并后的`Bitmap`为新的图片文件。 在`D:\MyProject\CreateImage\NewFile`路径下,你...

    C#在图片上绘制文字完整实例源码_65.rar

    这个压缩包“C#在图片上绘制文字完整实例源码_65.rar”提供了相关的源代码,可以帮助开发者理解和实现这一功能。下面将详细解释如何在C#中进行图片上的文字绘制。 首先,你需要导入必要的命名空间,这通常包括`...

    C# 将文本框记事本字符串用GDI技术转换成可自动换行的图片

    本项目使用了GDI+(Graphics Device Interface Plus)技术来实现这一功能,GDI+是.NET Framework提供的一个图形处理库,能够绘制图形、文字、图像等元素。 首先,我们要理解如何利用GDI+来处理文本。在C#中,`...

    C#404-图片上绘制文字源代码

    通过分析和实践这个"C#404-图片上绘制文字"的源代码,你可以掌握在C#中处理图像和进行图形绘制的基础知识,这对于开发涉及图像处理的应用程序或组件非常有用。同时,这也是深入学习C#图形编程的一个良好起点,为后续...

    C#在图片上绘制文字完整实例源码.rar

    通过这个实例源码,开发者不仅可以学习到如何在C#中利用GDI+在图片上绘制文字,还可以进一步了解图像处理的基本概念和技巧,为更复杂的图形应用打下基础。在实际项目中,可以结合这些知识创建个性化的图像处理工具或...

    C#在图片上绘制文字完整实例源码

    这个“C#在图片上绘制文字完整实例源码”应该提供了一个完整的示例,帮助开发者了解如何在.NET框架下使用C#语言和GDI+(Graphics Device Interface Plus)库来实现这一功能。以下是对这个主题的详细解释: 首先,...

    C#在图片上绘制文字完整实例源码_(0610).rar.rar

    在C#编程中,将文字绘制到...总的来说,C#在图片上绘制文字是图像处理中的基础操作,结合其他图形处理技术,可以构建出强大的图像应用。这个实例源码是一个很好的学习起点,有助于提升开发者在C#图形编程方面的能力。

    C# 图片上绘制文字 (图像操作)

    在C#编程中,图像操作是一项常见的任务,其中包括在图片上绘制文字。这通常涉及到GDI+(Graphics Device Interface Plus)库的使用,它是.NET Framework的一部分,提供了丰富的图形处理功能。下面将详细介绍如何利用...

    C#在图片上绘制文字完整实例源码_(0601).rar

    这个" C#在图片上绘制文字完整实例源码_(0601).rar "文件可能包含了一个完整的示例项目,帮助开发者了解如何在C#中实现这一功能。下面我们将深入探讨相关的知识点。 1. **GDI+**:在C#中,我们通常使用Graphics ...

    php文本转图片自动换行的方法

    这里需要注意的是,文本的自动换行已经被`autowrap()`函数处理过,所以可以直接绘制。最后,通过`imagepng()`函数输出PNG图像,并使用`imagedestroy()`释放内存。 在实际应用中,我们可能需要处理不同编码的文本,...

    imagick-demo:用 imagick 绘制图片,附带生成二维码,文字换行

    `imagick-demo` 是一个基于 PHP 的项目,利用 Imagick 扩展库来实现图像处理功能,包括绘制图片、生成二维码以及处理文字换行。Imagick 是一个强大的 PHP 图像处理工具,它提供了对 ImageMagick 图像处理库的接口,...

    MTextView,解决Android TextView提前换行的问题

    MTextView是针对原生Android TextView进行优化的一个类,它专门处理了提前换行的问题,尤其是在处理含有图片、特殊符号或复杂排版的文本时。这个自定义视图通常会提供更精确的文本测量和布局计算方法,以确保文字...

    图片上添加文字

    你可以创建一个Canvas对象,然后调用其`drawText()`方法来在指定的位置绘制文字。这个方法需要提供文字内容、字体大小、颜色以及起始坐标。 3. **Paint设置**:Paint是Android中的画笔对象,用于定义绘制的样式,如...

    java 给图片加文字,加二维码,并且以流的形式给前端展示

    在Java开发中,有时我们需要对图片进行处理,例如添加文字或二维码,然后将处理后的图片以流的形式传递给前端展示。这个过程涉及到多个技术点,包括图像处理、文件读取以及HTTP响应。以下是对这些知识点的详细解释:...

    Python在图片中插入大量文字并且自动换行

    4. **绘制文字**:最终将文字绘制到图片上。 #### 实现步骤 1. **环境准备**: - 安装`PIL`库:可以通过`pip install pillow`命令安装。 - 准备字体文件:这里使用了一个名为`micross.ttf`的字体文件,确保该...

Global site tag (gtag.js) - Google Analytics