我以前从没做过绘图,因此我没有遇到任何问题。我似乎无法使此代码的输出正常工作。
该文件正在保存,但未在文本上绘制。谁能看到我做错了什么?
编辑:一个愚蠢的错误-图像的背景为白色(画笔颜色为!)。文本未居中,但是正如我所期望的那样。有什么想法吗?:)
编辑:图像在下面。

谢谢
Bitmap myBitmap = new Bitmap(@"C:\Users\Scott\desktop\blank.bmp");
Graphics g = Graphics.FromImage(myBitmap);
g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
g.DrawString("My\nText",
new Font("Tahoma", 20),
Brushes.White,
new PointF(0, 0));
StringFormat strFormat = new StringFormat();
strFormat.Alignment = StringAlignment.Center;
strFormat.LineAlignment = StringAlignment.Center;
g.DrawString("My\nText",
new Font("Tahoma", 20), Brushes.White,
new RectangleF(0, 0, 500, 500),
strFormat);
myBitmap.Save(@"C:\Users\Scott\desktop\blank1.bmp");
Run Code Online (Sandbox Code Playgroud)
我相信你可能正在寻找这个。
rectf = new RectangleF(655, 460, 535, 90); //rectf for My Text
using(Graphics g = Graphics.FromImage(myBitmap))
{
//g.DrawRectangle(new Pen(Color.Red, 2), 655, 460, 535, 90);
g.SmoothingMode = SmoothingMode.AntiAlias;
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;
sf.LineAlignment = StringAlignment.Center;
g.DrawString("My\nText", new System.Drawing.Font("Tahoma", 32, FontStyle.Bold), Brushes.Black, rectf, sf);
}
Run Code Online (Sandbox Code Playgroud)
//g.DrawRectangle(new Pen(Color.Red, 2), 655, 460, 535, 90);Line 用于显示您的文本将被写入的位置。因此,在您实际制作文本之前,您可以看到将在图像上创建此矩形的位置。如果您想要图像的中心,您可以找到高度和宽度并将其除以 2 以找到图像的中心,然后可以相应地绘制矩形参数。
| 归档时间: |
|
| 查看次数: |
12626 次 |
| 最近记录: |