就是之前定义了一个矩形,颜色是红色,我想移动这个矩形,首先想要把矩形的颜色更改,然后再移动矩形。在panel里实现,怎么弄的啊?!
移动矩形不是重绘问题么?那怎么重绘呢?在数据链表怎样存储目前移动的点呢?
c#gdi+画图 怎样重绘
首先说一下,WinForm里是没有矩形这种东西的,想要达到移动矩形的目的,只有画一个矩形,就是用GDI+,连续在不同位置画矩形,看起来就是矩形在移动。折中的方案就是放一个矩形控件,模拟矩形,但是这样限制会很大,毕竟GDI画出来的你可以随意对他进行操作。using(Graphics g = panel.CreateGraphics()){...
关于c#里GDI+绘图问题
首先记住 屏幕是没有记性的 你通过改变窗体大小 使得控件的客户区域暴漏大小改变 会触发控件的重绘事件 它是走paint的 你在其他代码里画过的东西 程序在重绘的时候根本调用不到 举个最简单的例子 假设你在mousemove里画成功了 把窗体最小化-最大化一下 你画的东西就没了 这就是基于GDI绘图的控件...
C#GDI+重绘后的图形怎么选中,而且可以实现拖动,改变大小等操作,求高手...
还有设置控件的DoubleBuffered的属性为true,这样在重绘图形时不会出现闪烁
VS 有关GDI+画图的问题
1,新建个Form1窗体,拖一个大点的PicutreBox 2,右击PicutreBox控件,打开属性,切换到事件选项卡 3,双击Paint事件(也就是该PictureBox重绘时候执行的代码),进入Paint事件的代码编辑 4,写下这么几行代码 SolidBrush brush=new SolidBrush(Color.Red);\/\/画刷,红色的 e.Graphics.FillEllipse(brush...
c# GDI填充矩形重绘时不会出现闪烁,但画图就会出现我闪烁问题,这是为什 ...
画图是在重新绘制页面,每画一次就要刷新一次,所以就会闪,这是无法解决的,不过可以吧闪烁降低,就是你把绘制区域单独做成用户控件,然后放在你的主界面上,这样绘图的时候只会刷新你画的那一块,整个主界面不会闪!
c# winForm关于重绘控件的形状
把form的FormBorderStyle设置为None,最小化和关闭按钮拖,都重画吧,详细看下gdi+,类似下面的,改改就ok了.public void Render(Graphics graphics){ Pen pen;Brush brush;int x, y;int textWidth, textHeight;brush = new SolidBrush(IsSelectedValue ?CaptionColor : Color.White);pen = new Pen(...
用C#画图,怎么移动所画的图形,请教高手指点!!
更改你所画好的图所在的位置即可,将已画图形放在一个panel或picturebox上,需要移动时重新初始化控件的location属性就好了。下面代码是你panel位置随着你的光标位置移动而移动 Dim pi As Point = New Point(MousePosition.X, MousePosition.Y)panel.location = pi;...
C#TransparencyKey透明问题
“在窗体上用Graphics直接绘图” 这个件事本身就是错误的 GDI+的绘图原理:需要时刷新 当你alt+tab切换后 窗体会进行重绘 重新执行OnPaint函数 你刚才绘制的内容全都不见了 窗体才会重新回归透明 正确的绘制方式是把绘图代码写在OnPaint中 或者绘制在一张Bitmap上 然后对窗体setBackground使他刷新显示 ...
C#问题求高手,graphics绘制大量图形频闪问题
强制重绘请使用对象的 Invalidate方法 该方法可以指定重绘的 脏区 范围 另外,请开启容器的双缓冲特性 请在绘制前完成绘制中GDI+对象的初始化 你也可以人工实现多重缓冲 将对象绘制到一个Bitmap中,并将Bitmap快速刷入设备
C# 的GDI+ 中 panel的 onpaint()的频率问题
加 我的Q 523740321,我做了一个实时监控的线性表示,用纯GDI+,原来也是卡,一打开鼠标就是运行状态,修改后就无问题了,不是ONPAINT函数的问题,是你调用重绘时机的问题 譬如你移动鼠标时 MOUSE MOVE触发的事件看看,还有你init的事件,加我给你我做的可以参照一下 ...