不闲话,代码。
c#Code:
private void DrawImg()
{
getscnstr();
//if (scn.State == ConnectionState.Closed)
//{
//
scn.Open();
//}
//String SqlStr = "SELECT top 1000
[PersonerCode]
,[Personer]
,[ProfessionalKnowledge]
,[ManageKnowledge]
,[ProfessionalExperience]
,[LeaderExperience]
,[DrivePower]
,[MeanPower]
,[AffectPower]
,[DoPower]
,[ValueMean] FROM
[ais].[dbo].[PM_PersonValue]";
//DataTable dt = acc.GetSereachData(scn, SqlStr);
int Rectanglefar = 5;
int RectangleHigh = 15;
int ImagePer = 150;
int StartPoint = 0;
if (txtprfar.Text.Trim() != "")
Rectanglefar = Convert.ToInt16(txtprfar.Text.Trim());
if (txtprhigh.Text.Trim() != "")
RectangleHigh = Convert.ToInt16(txtprhigh.Text.Trim());
if (txtImgPer.Text.Trim() != "")
ImagePer = Convert.ToInt16(txtImgPer.Text.Trim());
if (txtstart.Text.Trim() != "")
StartPoint = Convert.ToInt16(txtstart.Text.Trim());
if (StartPoint > 5)
{
MessageBox.Show("起始点在0-5之间,请录入正确数字");
return;
}
int high = 50000;
high = dt.Rows.Count * (RectangleHigh + Rectanglefar) * 28 +
20;//可设置每条记录距离
IMG = new Bitmap(900, high);
System.Drawing.Graphics g =
System.Drawing.Graphics.FromImage(IMG);
System.Drawing.Pen myPen = new
System.Drawing.Pen(System.Drawing.Color.Blue, 1);
//for (int n = 2; n < dt.Columns.Count; n++)
//{
// string
header = dt.Columns[n].ColumnName;
//
dt.Columns[n].Expression = header+" * 10";
//}
for (int n = 0; n < dt.Rows.Count; n++)
{
int ny=400*(n);
int nx=0;
System.Drawing.Point[] po = new System.Drawing.Point[28];
for (int i = 0; i <= 27; i++)//设置宽
{
if(dt.Rows[n][i].ToString()=="")
{
i++;
}
int y = (i + 1) * (RectangleHigh + Rectanglefar) + ny;//高度
int x = Convert.ToInt16(Convert.ToDecimal(dt.Rows[n][i + 3]) *
ImagePer) - StartPoint*ImagePer;//长度
if (x < 0)
{ x = 0; }
po[i] = new System.Drawing.Point(x,y);//画线的点
g.DrawRectangle(new System.Drawing.Pen(System.Drawing.Color.Red,
3), x, y, 2, 2);//在点上作标记
if (cbPrName.IsChecked == true)
{
if (cbPrValue.IsChecked == true)
{
g.DrawString(dt.Columns[i + 3].ColumnName.Trim() + ":" +
dt.Rows[n][i + 3].ToString(), new Font("宋体", 8f),
System.Drawing.Brushes.Black, new System.Drawing.Point(x,
y));
}
else
{
g.DrawString(dt.Columns[i + 3].ColumnName.Trim(), new Font("宋体",
8f), System.Drawing.Brushes.Black, new System.Drawing.Point(x,
y));
}