我正在尝试在位图上绘制文本,然后在图片框中显示。代码如下:
private void button2_Click(object sender, EventArgs e)
{
Bitmap bmp = new Bitmap("filename.bmp");
RectangleF rectf = new RectangleF(70, 90, 90, 50);
Graphics g = Graphics.FromImage(bmp);
g.SmoothingMode = SmoothingMode.AntiAlias;
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
g.DrawString("myText", new Font("Tahoma", 8), Brushes.Black, rectf);
g.Flush();
pictureBox1.Image = bmp;
}
当我运行程序并按下按钮2时出现错误。 它说:
System.Drawing.dll中出现未处理的“System.ArgumentException”类型异常
附加信息:参数不正确。
我在那里找不到任何错误。可能有什么不对?
答案 0 :(得分:0)
您需要指定现有文件名。更灵活的解决方案是只指定位图的尺寸。例如,下一个代码在位图
中创建文本Bitmap bmp = new Bitmap(200, 200);
//your code
bmp.Save(@"D:\filename.bmp");
g.Flush();
在D:\filename.bmp
如果您想通过添加新文字更改现有位图,请使用Image.FromFile
方法,例如:
Bitmap bmp = (Bitmap)Image.FromFile(@"D:\filename.bmp");