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中直接重绘就可以了,我是这么解决的,你试试看吧 关于 VS1010 写的 应用程序的安装部署 如何弄? .net开发管理员后台左侧导航的时候,用什么控件实现哈 aspx里只有<%@ Page %>是什么意思? 用ajax 为什么会弹出 unknown error对话框 谁有VS2008 输入框里的输入法首次变灰解决方法? 请教C#中滚动条控件的使用方法!(给出代码) 为什么在一个button上绘图跟在一个panel上绘图不一样呢? 菜鸟求助:如何写访问oracle的数据访问类呢?急啊!!! textbox数据绑定问题?奇怪! 关于.net的安装:找不到文件 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;
}
}