public static void KiSetText(Bitmap b ,List<SingeIn> list)
{
if (b != null)
{
Graphics g = Graphics.FromImage(b);
g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
foreach (SingeIn one in list)
{
SizeF size = g.MeasureString(one.SingeText, one.SingeFont);//计算字体高度
int TextHeight = one.SingeFont.Height;
StringFormat 格式 = new StringFormat();
if (one.DockTo == 1)//右对齐
{
//格式.Alignment = StringAlignment.Center; //居中
格式.Alignment = StringAlignment.Far; //右对齐
Rectangle StringArea = new Rectangle(one.X - (int)Math.Ceiling(size.Width), one.Y,int.Parse(Math.Ceiling(size.Width).ToString()), TextHeight);
SolidBrush sb = new SolidBrush(one.SingeColor);//画笔
g.DrawString(one.SingeText,one.SingeFont, sb, StringArea, 格式);
}
else if (one.DockTo == 2)//居中
{
格式.Alignment = StringAlignment.Center; //居中
//格式.Alignment = StringAlignment.Far; //右对齐
Rectangle StringArea = new Rectangle(one.X - (int)Math.Ceiling(size.Width), one.Y + TextHeight, int.Parse(Math.Ceiling(size.Width).ToString()), TextHeight);
SolidBrush sb = new SolidBrush(one.SingeColor);//画笔
g.DrawString(one.SingeText, one.SingeFont, sb, StringArea, 格式);
}
else //默认的数据左对齐
{
SolidBrush sb = new SolidBrush(one.SingeColor);
g.DrawString(one.SingeText, one.SingeFont, sb, new PointF(one.X, one.Y));
}
}
g.Dispose();
}
}
public class SingeIn{
/// <summary>
/// 写入的数据
/// </summary>
public string SingeText { get; set; }
/// <summary>
/// 使用的字体
/// </summary>
public Font SingeFont { get; set; }
/// <summary>
/// 写入用的颜色
/// </summary>
public Color SingeColor { get; set; }
/// <summary>
/// 写入的坐标X
/// </summary>
public int X { get; set;}
/// <summary>
/// 写入坐标 Y
/// </summary>
public int Y { get; set; }
/// <summary>
///停靠方式 0左对齐,1右对齐,2居中
/// </summary>
public int DockTo { get; set; }
/// <summary>
/// 文本框长度
/// </summary>
public int Length { get; set; }
}
C#drawString 图片定位以及插入数据
最新推荐文章于 2024-08-26 09:27:58 发布