C# 使用GDI画坐标图(支持负值)
因为项目需要,使用GDI画一个全坐标系统图,并嵌入PDF文件,方便打印。
效果图如下:
一般的坐标图仅有右上的四分之一,此图则是全坐标的,输入是四个点的坐标,可以是负值。
代码:
代码
Bitmap bitmap = new Bitmap(this.Width, this.Height, PixelFormat.Format24bppRgb);
Graphics g=Graphics.FromImage(bitmap);
//Graphics g = this.CreateGraphics();
g.Clear(Color.White);
Font font = new Font(Font.Name, 11);
SolidBrush brush = new SolidBrush(Color.Black);
Pen pen = new Pen(Color.Black);
pen.EndCap = LineCap.ArrowAnchor;
pen.DashStyle = DashStyle.Solid;
//坐标轴
Point pCenter = new Point(300, 260);
g.DrawLine(pen, new Point(pCenter.X - 200, pCenter.Y), new Point(pCenter.X + 200, pCenter.Y));//x
g.DrawLine(pen, new Point(pCenter.X, pCenter.Y + 200), new Point(pCenter.X, pCenter.Y - 200));//y
//轴标格
for (int i = 0; i < 5; i++)
{
g.DrawLine(Pens.Black, new Point(pCenter.X - iX * i, pCenter.Y), new Point(pCenter.X - iX * i, pCenter.Y - 4));//x
g.DrawString((-i).ToString(), font, brush, new PointF(pCenter.X 补充:软件开发 , C# ,
Graphics g=Graphics.FromImage(bitmap);
//Graphics g = this.CreateGraphics();
g.Clear(Color.White);
Font font = new Font(Font.Name, 11);
SolidBrush brush = new SolidBrush(Color.Black);
Pen pen = new Pen(Color.Black);
pen.EndCap = LineCap.ArrowAnchor;
pen.DashStyle = DashStyle.Solid;
//坐标轴
Point pCenter = new Point(300, 260);
g.DrawLine(pen, new Point(pCenter.X - 200, pCenter.Y), new Point(pCenter.X + 200, pCenter.Y));//x
g.DrawLine(pen, new Point(pCenter.X, pCenter.Y + 200), new Point(pCenter.X, pCenter.Y - 200));//y
//轴标格
for (int i = 0; i < 5; i++)
{
g.DrawLine(Pens.Black, new Point(pCenter.X - iX * i, pCenter.Y), new Point(pCenter.X - iX * i, pCenter.Y - 4));//x
g.DrawString((-i).ToString(), font, brush, new PointF(pCenter.X 补充:软件开发 , C# ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,
部份技术文章来自网络,