如何解决c#可以在没有表单的情况下从轴获取位置吗?
| 我有一个要转换为服务的WinForm应用程序。它上面有两个mscharts。我不再需要查看那些图表,因为该应用程序会从中创建位图。我根据另一个图表的数据在一个图表上画一条线,如下所示:// Get Graphics object from chart
Graphics graph = e.ChartGraphics.Graphics;
// Convert X and Y values to screen position
float pixelYMax = (float)e.ChartGraphics.GetPositionFromAxis(\"Default\",AxisName.Y,CreatininePoint.YValues[0]);
float pixelXMax = (float)e.ChartGraphics.GetPositionFromAxis(\"Default\",AxisName.X,CreatininePoint.XValue);
float pixelYMin = (float)e.ChartGraphics.GetPositionFromAxis(\"Default\",CreatininePoint.YValues[0]-20);
float pixelXMin = (float)e.ChartGraphics.GetPositionFromAxis(\"Default\",CreatininePoint.XValue);
PointF point1 = PointF.Empty;
PointF point2 = PointF.Empty;
// Set Maximum and minimum points
point1.X = pixelXMax;
point1.Y = pixelYMax-10;
point2.X = pixelXMin;
point2.Y = 84;
// Convert relative coordinates to absolute coordinates.
point1 = e.ChartGraphics.GetAbsolutePoint(point1);
point2 = e.ChartGraphics.GetAbsolutePoint(point2);
float[] dashValues = { 4,2 };
Pen blackPen = new Pen(Color.Black,1);
blackPen.DashPattern = dashValues;
//e.Graphics.DrawLine(blackPen,new Point(5,5),new Point(405,5));
//graph.DrawLine(blackPen,point1,point2);
// Draw connection line
graph.DrawLine(new Pen(Color.Black,2),point2,point1);
// Create string to draw.
//String drawString = creatininept + \" ng/mL\";
String drawString = \"67 ng/mL\";
// Create font and brush.
Font drawFont = new Font(\"Arial\",7);
SolidBrush drawBrush = new SolidBrush(Color.Black);
// Create point for upper-left corner of drawing.
PointF drawPoint = new PointF(point1.X,point1.Y+5);
// Draw string to screen.
graph.DrawString(drawString,drawFont,drawBrush,drawPoint);
没有表格就可以做到这一点,以便我们可以运行服务吗?
解决方法
Bitmap canvas = new Bitmap(600,480);
Graphics graph = Graphics.FromImage(canvas);
..然后继续在图形上绘图。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。