如何在一张图片上面输出文字?文字要显示在图片的中央对齐,谢谢!

zdq801104 2005-09-09 02:39:01
RT
...全文
517 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zdq801104 2005-09-13
  • 打赏
  • 举报
回复
很感谢各位的技术支持,揭贴!谢谢!
accpedu 2005-09-09
  • 打赏
  • 举报
回复
学习。。。。
TechEye 2005-09-09
  • 打赏
  • 举报
回复
Bitmap 在 System.Drawing 命名空间下面.

你的PictureBox.Image是不是null的??如果你只是想在pictureBox上面画,那么只要在它的OnPaint事件加入如下代码,不会有错的!

private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;

string text = "这是要绘制的文本!";
Font font = new Font("宋体", 12);
Brush brush = new SolidBrush(Color.Blue);
SizeF sizeText = g.MeasureString(text, font);

int w = pictureBox1.Width;
int h = pictureBox1.Height;

g.DrawString(text, font, brush, (w - sizeText.Width) / 2, (h - sizeText.Height) / 2);
}
zdq801104 2005-09-09
  • 打赏
  • 举报
回复
很感谢各位的回复,特别感谢 pupo(泡泡) 兄弟,已经可以实现了,不过还想看看鼎鼎的回答,过两天揭贴
Samen168 2005-09-09
  • 打赏
  • 举报
回复
都说完了^-^
pupo 2005-09-09
  • 打赏
  • 举报
回复
Brush是个抽象类,不能实例化. 主要输入个.后顺手就选了Brush

System.Drawing.SolidBrush brush = new System.Drawing.SolidBrush(System.Drawing.Color.Black);
pupo 2005-09-09
  • 打赏
  • 举报
回复
System.Drawing.SolidBrushbrush = new System.Drawing.SolidBrush(System.Drawing.Color.Black);

写错了,呵呵!
zdq801104 2005-09-09
  • 打赏
  • 举报
回复
我想问问鼎鼎兄弟,哪个BMP对象是哪个呢?请帮帮忙
zdq801104 2005-09-09
  • 打赏
  • 举报
回复
首先多谢楼上各位的回复
to : weisunding(鼎鼎) ( )
我的代码是这样的,但是编译的时候不过
Image bmp=pictureBox1.Image;
Graphics g = Graphics.FromImage(bmp);

string text = "这是要绘制的文本!";
Font font = new Font("宋体", 12);
Brush brush = new SolidBrush(Color.Blue);
SizeF sizeText = g.MeasureString(text, font);

int w = bmp.Width;
int h = bmp.Height;

g.DrawString(text, font, brush, (w - sizeText.Width) / 2, (h - sizeText.Height) / 2);

TO : pupo(泡泡)
我按照你的方法去做,但是也出现错误,错误是无法创建new System.Drawing.Brush实例,



请各位再帮帮忙
伴老思源 2005-09-09
  • 打赏
  • 举报
回复
不错,比我的高明多,我就不献丑了,记下了
pupo 2005-09-09
  • 打赏
  • 举报
回复
RectangleF 设置成你的图片大小即可
pupo 2005-09-09
  • 打赏
  • 举报
回复
System.Drawing.StringFormat format = new System.Drawing.StringFormat();
format.LineAlignment = System.Drawing.StringAlignment.Center ;
format.Alignment = System.Drawing.StringAlignment.Center ;
System.Drawing.Brush brush = new System.Drawing.Brush(System.Drawing.Color.Black);
g.DrawString(this.Text, this.Font, brush, new System.Drawing.RectangleF(0, 0, this.Width, this.Height), format);
brush.Dispose();
TechEye 2005-09-09
  • 打赏
  • 举报
回复
设你的图片对象为 bmp

Graphics g = Graphics.FromImage(bmp);

string text = "这是要绘制的文本!";
Font font = new Font("宋体", 12);
Brush brush = new SolidBrush(Color.Blue);
SizeF sizeText = g.MeasureString(text, font);

int w = bmp.Width;
int h = bmp.Height;

g.DrawString(text, font, brush, (w - sizeText.Width) / 2, (h - sizeText.Height) / 2);

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧