C#form中画图,并保存成图片格式,其中form窗体带有滚动条 C# 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以选择画在pictureBox控件上 保存直接pictureBox.Image.Save(路径); 可以选择画在pictureBox控件上 保存直接pictureBox.Image.Save(路径);但是pictureBox控件直接放在form上吗?还有pictureBox怎么显示滚动条? 1.只要能够用代码获取的Image,如 Picture1.Image 或 Form.Image ,都可以用 Image.Save()来存储2.PictureBox 里面再套一个 PicrureBox2,用外面的滚动条来设置PictureBox2的Top和Left。 用一个panel,然后将picturebox放在里面,设置panel的初始大小,并设置自动出现滚动条,这样就可以有滚动条啦 可是在pictureBox上画图,图刚画完,就消失了,何解? 你没有用重绘的功能吧??把画图的内容放入paint中 我放了 protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); //pb(); // paneldraw(); Graphics g = pictureBox1.CreateGraphics(); g.TranslateTransform(this.AutoScrollPosition.X, this.AutoScrollPosition.Y); Pen black = new Pen(Color.Black, 1); Class1 clss = new Class1(); double[,] dd = clss.testdatamanage(); int XN = 10; for (int i = 0; i < dd.GetLength(1); i++) { int YN = 1; for (int j = 0; j < dd.GetLength(0) - 1; j++) { int k = 10; int x1 = Convert.ToInt32(k * dd[j, i] + XN); int y1 = 10 + YN; Point a = new Point(x1, y1); YN++; int x2 = Convert.ToInt32(k * dd[j + 1, i] + XN); int y2 = 10 + YN; Point b = new Point(x2, y2); g.DrawLine(black, a, b); } XN = XN + 20; } } Onpaint不知道是不是这么用喔,我之前画图的时候也是这么放的但是没有用得,我也是新手来的,你把代码直接放入FromLoad中,然后在picturebox_paint中直接重绘就可以了,我是这么解决的,你试试看吧 请教日期时间格式转换 老话题了:如何让3.5和4.0快速静默安装? c#调用0cx问题 C#窗体更新问题 高手请教,锁注局域网机器? 表达式解析组件 如何控制系統的音量, 靜音? 如何屏蔽系统弹出的对话框 一个关于vs的新问题 求一简单SQL c#datagridview新建行 GDI+图片毛玻璃效果的实现
保存直接pictureBox.Image.Save(路径);
保存直接pictureBox.Image.Save(路径);但是pictureBox控件直接放在form上吗?还有pictureBox怎么显示滚动条?
2.PictureBox 里面再套一个 PicrureBox2,用外面的滚动条来设置PictureBox2的Top和Left。
我放了
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
//pb();
// paneldraw();
Graphics g = pictureBox1.CreateGraphics();
g.TranslateTransform(this.AutoScrollPosition.X, this.AutoScrollPosition.Y);
Pen black = new Pen(Color.Black, 1);
Class1 clss = new Class1();
double[,] dd = clss.testdatamanage();
int XN = 10;
for (int i = 0; i < dd.GetLength(1); i++)
{ int YN = 1;
for (int j = 0; j < dd.GetLength(0) - 1; j++)
{
int k = 10;
int x1 = Convert.ToInt32(k * dd[j, i] + XN);
int y1 = 10 + YN;
Point a = new Point(x1, y1);
YN++;
int x2 = Convert.ToInt32(k * dd[j + 1, i] + XN);
int y2 = 10 + YN;
Point b = new Point(x2, y2);
g.DrawLine(black, a, b); }
XN = XN + 20;
}
}