pictureBox 画图问题

问题描述

privateGraphicsg=null;privatevoidpictureBox1_Paint(objectsender,PaintEventArgse){g=e.Graphics;g.Clear(pictureBox1.BackColor);}在pictureBox1_Paint事件中获取Graphicsg为什么在button1_Click事件触发后g就报异常呢?

解决方案

解决方案二:
你需要从gdi换成gdi+,你可以搜素下gdi+

时间: 2024-11-05 17:31:59

pictureBox 画图问题的相关文章

ASP.NET可交互式位图窗体设计(7)

asp.net|交互|设计 在 Windows 窗体应用程序中使用可绘制对象    我们已经讨论了可绘制对象类,下面谈谈如何在 Windows 窗体应用程序中使用这些类.首先谈一下 Windows 窗体应用程序是怎样工作的.       Windows 窗体应用程序的主要部分    简单的 Windows 窗体应用程序包含一个主窗口(或窗体),其中包含控件子项.如果您是一位 Visual Basic 程序员,就会发现这个模型非常熟悉.       主窗口    任何 Windows 窗体应用程序

ASP.NET可交互式位图窗体设计(8)

asp.net|交互|设计 按钮单击事件处理程序    接下来就是每个按钮的按钮单击事件处理程序.多数仅仅是向绘图列表中添加一个新的可绘制对象,然后调用 PictureBox 上的 Invalidate,从而使用更新的绘图列表进行重绘.典型的按钮事件处理程序代码如下所示:          C#   private void AddPoint_Click(object sender, System.EventArgs e) {   drawingList.Add(new DPoint(GetRa

用BFS和DFS解决圆盘状态搜索问题

人工智能课程的实验(我的解法其实更像是算法课程的实验) 用到的算法:深度优先搜索.宽度优先搜索(状态扩展的不同策略) 数据结构:表示状态的结构体.多维数组 (可能是最近做算法竞赛题的影响,这次并不像以前那样依赖类和面向对象了,而是用最简单(几乎没有封装)的数据表示方法和大量的全局变量来存储数据,用面向过程的写法,以快速解决某一问题为目的设计程序.安全性和可扩展性势必降低,有些技巧的使用也让代码变得难懂:但是代码简洁,节省运行的时间和空间开销,这应该就是算法竞赛更加看重的吧) 这次用了C++写了控

在初始化一个窗口时,pictureBox中初始化画图不显示

问题描述 如下面的初始化代码所示,在界面上添加了一个pictureBox的控件,想在上面初始化画图,运行不显示所画的图片.publicGraphicsg1;publicForm1(){InitializeComponent();g1=pictureBox1.CreateGraphics();g1.DrawRectangle(newPen(Color.Red),10,10,20,20);Penp=newPen(Color.Red,2);//定义了一个蓝色,宽度为的画笔g1.DrawLine(p,1

paint-vb.net picturebox 如何实现高效redraw

问题描述 vb.net picturebox 如何实现高效redraw 我用原先用VB6的picturebox做画图.在paint中实现redraw,方法是遍历图元数组,进行重画.现在,将代码改成vb.net后,发现paint的效率很低,打开一张稍微大点的图,redraw就跟死机一样,要等半天!请大侠们指点一下,什么办法好? 解决方案 用双缓冲http://blog.csdn.net/keep_silence_/article/details/7849880

C# 在picturebox画线,画矩形,当需要擦除其中某一条曲线的时候怎么做?用异或画笔??这方面了解比较少,求大神。。。

问题描述 C#在picturebox画线,画矩形,当需要擦除其中某一条曲线的时候怎么做?用异或画笔??这方面了解比较少,求大神... 解决方案 解决方案二:这个,你只能做层,PS软件都没办法做到这点除了用图层,我想不到其他办法解决方案三:自己做图层List<Image>解决方案四:请问有没有图层的具体的例子?解决方案五:引用2楼crystal_lz的回复: 自己做图层List<Image> 请问有没有图层的具体的例子,这个list里面存放的是图片还是坐标点?解决方案六:可以用底色重

C++ .net使用picturebox时Image没有新绘制的图形

问题描述 我用C++.net编写窗体应用,里面创建了一个picturebox,刚开始picturebox中没有任何图形,现在通过利用画笔的方式在picturebox中画图而不是利用图片路径去加载图片,请问下在这种情况下如何清除picturebox中的图形,我用下面代码实现:Bitmap^bitmap=gcnewBitmap(pictureBox1->Image);//将图像转换为位图inti,j;//颜色的R,G,B分量值intwidth=bitmap->Width;//取得位图的宽度inth

C#怎样使picturebox上的路径随其一起移动、缩放??

问题描述 Image已经实现了(pictureBox中缩放移动),但是路径画在paint函数里,就不行了,有什么办法可以随picturebox一起移动缩放吗?Image是这样实现的:System.Drawing.ImageMyImage1=newSystem.Drawing.Bitmap(400,200);System.Drawing.Graphicsg1=System.Drawing.Graphics.FromImage(MyImage1);//此处省略画图pictureBox1.Image=

求大神指导: c#怎么用鼠标选中picturebox里面的点线

问题描述 c#怎么用鼠标选中picturebox里面的点线(这些点线是我画的,画线用的是下面的代码)(我是在windows窗体中编写的程序),例如:点了一个选择按钮,这个时候就可以选中picturebox里面的点线.Graphicsg=Graphics.FromImage((Image)bmp);g.DrawLine(newPen(Color.Red,1),Pt[i],Pt[i+1]); 解决方案 解决方案二:使用wpf这样的图元编程平台.要在这么底层地方让人告诉你如何设计控件/组件,难道你要自