c# 画图问题(紧急) 请问如何在一个image上同时画多条曲线(drawlines), 我目前只能画出一条,当两条一起画时,发现曲线不能正确展现,请高手帮忙,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 GraphicsPath gp = new GraphicsPath(); List<PointF> arrCurve1 = new List<PointF>(); arrCurve1.Add(new PointF(0, 0)); arrCurve1.Add(new PointF(10, 10)); arrCurve1.Add(new PointF(20, 0)); arrCurve1.Add(new PointF(0, 50)); gp.AddCurve(arrCurve1.ToArray()); gp.StartFigure(); // 开始新图形,断开关联 List<PointF> arrCurve2 = new List<PointF>(); arrCurve2.Add(new PointF(100, 100)); arrCurve2.Add(new PointF(100, 150)); arrCurve2.Add(new PointF(200, 100)); arrCurve2.Add(new PointF(100, 80)); gp.AddCurve(arrCurve2.ToArray()); Graphics g = this.CreateGraphics(); g.DrawPath(Pens.Black, gp); http://blog.csdn.net/jianuMan/archive/2010/06/18/5677839.aspx画图 划线的例子 请问你编程的软件是什么事Vistual studio 么??我不能在Vistual studio 里运行啊 我求助的是为什么这段代码在Vsiual Studio 2005 Web窗体里不能用呀解释下嘛.... if (checkBox1.Checked == true && radioButton_c13.Checked != true) { //Graphics graphics2 = Graphics.FromHwnd(panel_cpu.Handle); //graphics2.Clear(Color.LightSteelBlue); graphics1.DrawLines(penc2, pointCpu_2); } if (checkBox3.Checked == true && radioButton_c33.Checked != true) { graphics1.DrawLines(penc3, pointCpu_3); } 就像上面,无论你DrawLines几次都没关系!关键是要用同一个graphics1,我刚开始也是以为画一条线就要new一个graphics。这是不可取的 这只是一点个人经验,我其实很菜了!希望能帮到您! 红色区域using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO;using System.Reflection;namespace TestGraphic{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void panel1_Paint(object sender, PaintEventArgs e) { Graphics gc = e.Graphics; /// 设置绘图的颜色 Brush greenBrush = new SolidBrush(Color.Green); int radius = 30; // 绘制圆,(0, 0)为左上角的坐标,radius为直径 gc.FillEllipse(greenBrush, 0, 0, radius, radius); Brush yellowBush = new SolidBrush(Color.Yellow); // 绘制椭圆,其实圆时椭圆的特殊的一种,即两个定点重合, (50, 60)为左上角的坐标, // 70位椭圆的宽度,100位椭圆的高度 gc.FillEllipse(yellowBush, 50, 60, 70, 100); // 绘制三角形,指定红色和线宽5。三个顶点为(150,160) (200, 210) (280, 180),绘制三条连线。 Pen pen = new Pen(Color.Red, 5); gc.DrawLine(pen, 150, 160, 200, 210); gc.DrawLine(pen, 200, 210, 280, 180); gc.DrawLine(pen, 150, 160, 280, 180); /// 绘制矩形,(50,300)左上角坐标,110位宽度, 80为高度。 gc.DrawRectangle(pen, 50, 300, 110, 80); Brush blueBrush = new SolidBrush(Color.Blue); /// 绘制文本 gc.DrawString("Graphic绘制图形的例子", new Font("宋体", 20, FontStyle.Italic), blueBrush, new PointF(300, 400)); /// 绘制图片 TestGraphic.Properties.Resources.niang为图片在资源中的名称,可以先将图片设置为Panel的背景图, /// 获得图片的名称,然后将Panel的背景图清空。(400,20)是图片左上角坐标,300,300是图片将要显示的宽度和高度, /// 并不是图片本身的宽度和高度。 Image image = global::TestGraphic.Properties.Resources.niang; gc.DrawImage(image, new Rectangle(400, 20, 300, 300)); gc.DrawLine(pen, 400, 20, 600, 100); gc.DrawLine(pen, 400, 20, 650, 250); } }} 求一C#机器码的算法 nhibernate 映射成SQL运行时 报将截断字符串或二进制数据 构造函数和“_Load”函数的区别 获得textbox的输入后的內容 服务端验证好还是客户端验证好? 出一个表格,需在第一列中显示选定月份的每一天。如何实现?? 高分急求!!!水晶报表分页问题!!!!!!!!! 再次悬赏100分求解10道很简单的C语言题目!!!!!!!! 一个很简单的问题,在线等 请问? .NET2.0之中是否包含了数据库引擎? 做QQ的问题, 各位帮忙看
GraphicsPath gp = new GraphicsPath();
List<PointF> arrCurve1 = new List<PointF>();
arrCurve1.Add(new PointF(0, 0));
arrCurve1.Add(new PointF(10, 10));
arrCurve1.Add(new PointF(20, 0));
arrCurve1.Add(new PointF(0, 50));
gp.AddCurve(arrCurve1.ToArray());
gp.StartFigure(); // 开始新图形,断开关联
List<PointF> arrCurve2 = new List<PointF>();
arrCurve2.Add(new PointF(100, 100));
arrCurve2.Add(new PointF(100, 150));
arrCurve2.Add(new PointF(200, 100));
arrCurve2.Add(new PointF(100, 80));
gp.AddCurve(arrCurve2.ToArray());
Graphics g = this.CreateGraphics();
g.DrawPath(Pens.Black, gp);
{
//Graphics graphics2 = Graphics.FromHwnd(panel_cpu.Handle);
//graphics2.Clear(Color.LightSteelBlue);
graphics1.DrawLines(penc2, pointCpu_2);
}
if (checkBox3.Checked == true && radioButton_c33.Checked != true)
{
graphics1.DrawLines(penc3, pointCpu_3);
}
就像上面,无论你DrawLines几次都没关系!关键是要用同一个graphics1,我刚开始也是以为画一条线就要new一个graphics。这是不可取的
这只是一点个人经验,我其实很菜了!希望能帮到您!
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Reflection;namespace TestGraphic
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void panel1_Paint(object sender, PaintEventArgs e)
{
Graphics gc = e.Graphics;
/// 设置绘图的颜色
Brush greenBrush = new SolidBrush(Color.Green);
int radius = 30;
// 绘制圆,(0, 0)为左上角的坐标,radius为直径
gc.FillEllipse(greenBrush, 0, 0, radius, radius);
Brush yellowBush = new SolidBrush(Color.Yellow);
// 绘制椭圆,其实圆时椭圆的特殊的一种,即两个定点重合, (50, 60)为左上角的坐标,
// 70位椭圆的宽度,100位椭圆的高度
gc.FillEllipse(yellowBush, 50, 60, 70, 100); // 绘制三角形,指定红色和线宽5。三个顶点为(150,160) (200, 210) (280, 180),绘制三条连线。
Pen pen = new Pen(Color.Red, 5);
gc.DrawLine(pen, 150, 160, 200, 210);
gc.DrawLine(pen, 200, 210, 280, 180);
gc.DrawLine(pen, 150, 160, 280, 180); /// 绘制矩形,(50,300)左上角坐标,110位宽度, 80为高度。
gc.DrawRectangle(pen, 50, 300, 110, 80);
Brush blueBrush = new SolidBrush(Color.Blue);
/// 绘制文本
gc.DrawString("Graphic绘制图形的例子", new Font("宋体", 20, FontStyle.Italic),
blueBrush, new PointF(300, 400));
/// 绘制图片 TestGraphic.Properties.Resources.niang为图片在资源中的名称,可以先将图片设置为Panel的背景图,
/// 获得图片的名称,然后将Panel的背景图清空。(400,20)是图片左上角坐标,300,300是图片将要显示的宽度和高度,
/// 并不是图片本身的宽度和高度。
Image image = global::TestGraphic.Properties.Resources.niang;
gc.DrawImage(image, new Rectangle(400, 20, 300, 300));
gc.DrawLine(pen, 400, 20, 600, 100);
gc.DrawLine(pen, 400, 20, 650, 250); }
}
}