社区
C#
帖子详情
GDI+高手请进(急,急,急)!!!
sdl2005lyx
2006-08-29 10:32:08
本人要做一个实时x、y点阵实时显示控件。 就是在一个容器用定时器不断画线,每隔一秒向右移动一段距离,等当前容器画满后,能不断向右移动,看到最新画出的直线.最好有滚动条,以便定时器停止后,可以回滚看到以前画的线。
各位大侠,有什么好的办法,要是有实际的例子最好了!!
...全文
358
17
打赏
收藏
GDI+高手请进(急,急,急)!!!
本人要做一个实时x、y点阵实时显示控件。 就是在一个容器用定时器不断画线,每隔一秒向右移动一段距离,等当前容器画满后,能不断向右移动,看到最新画出的直线.最好有滚动条,以便定时器停止后,可以回滚看到以前画的线。 各位大侠,有什么好的办法,要是有实际的例子最好了!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sdl2005lyx
2006-08-31
打赏
举报
回复
谢谢,这下豁然开朗了。!!
Knight94
2006-08-31
打赏
举报
回复
其实很简单,图型移动,就是一个画板删除前面的,然后补齐后面的,所造成的错觉。
那么第一部分,就是用原来的图删除前面部分后的数据来填充新图;
第二部分,就是画入新的数据,也就是补齐后面的。
gImage.DrawImage(bitGraph,
new Rectangle(0, 0, nWidth - CLIP_WIDTH, nHeight)/*新图前面部分,不包括后面新画的部分*/,
new Rectangle(CLIP_WIDTH, 0, nWidth - CLIP_WIDTH, nHeight)/*旧图后面部分,去除前面部分*/,
GraphicsUnit.Pixel);
这句话的意思,相当于用旧图后面部分去填充新图前面部分,例如每次移动20个像素
相当于旧图从(20,0)这个起点,到后面整个区域,整体向前平移了20个像素。
sdl2005lyx
2006-08-31
打赏
举报
回复
Knight94(愚翁):
我几行代码,能否解释一下:
gImage.DrawImage(bitGraph,
new Rectangle(0, 0, nWidth - CLIP_WIDTH, nHeight),
new Rectangle(CLIP_WIDTH, 0, nWidth - CLIP_WIDTH, nHeight),
GraphicsUnit.Pixel);
gImage.DrawLine(new Pen(Color.Red,1.0f),
new Point(nWidth - CLIP_WIDTH, nStartY),
new Point(nWidth - 1, nEndY));
上面的代码中,nWidth ,CLIP_WIDTH运行时都是固定值,图形是如何移动的呢???
sdl2005lyx
2006-08-31
打赏
举报
回复
Knight94(愚翁):
不好意思,还有一个问题:
我想要控制画线的显示和隐藏,你是通过移动图块达到目的,从而无法记录真正坐标点,
怎么办呢?
Knight94
2006-08-30
打赏
举报
回复
to
那用滚动条的时候还能用你那篇文章里的double buffer防止闪烁么?
怎么用那?
为什么不能用呢
double-buffer只是选用了Bitmap来替换直接处理picturebox。
那么bitmap本身也是可以被操作的。
wbzGatsby
2006-08-30
打赏
举报
回复
也就是所有画过的点都要记录下来?
那用滚动条的时候还能用你那篇文章里的double buffer防止闪烁么?
怎么用那?
tshark
2006-08-30
打赏
举报
回复
j加油啊,老板在催呢
Knight94
2006-08-30
打赏
举报
回复
to 也在做这方面的东西 问一下这个history 大致应该怎么做?
就是记录所画点的坐标。
如果水平间隔是固定的,只需要记录纵轴的坐标;
如果不是固定的,则需要在绝对坐标下记录(x,y)的值。
ps:展现成图案的时候,需要进行绝对坐标和相对坐标的转换。
ilove8
2006-08-30
打赏
举报
回复
up
wbzGatsby
2006-08-30
打赏
举报
回复
to Knight94(愚翁)
ref:
http://blog.csdn.net/Knight94/archive/2006/08/18/1094078.aspx
你在我的基础上加上history功能。
也在做这方面的东西 问一下这个history 大致应该怎么做?
wangwei155
2006-08-30
打赏
举报
回复
顶
kason_j
2006-08-30
打赏
举报
回复
帮顶
sdl2005lyx
2006-08-30
打赏
举报
回复
谢谢各位,我的邮箱:sdl2002lyx@163.com
Knight94
2006-08-30
打赏
举报
回复
ref:
http://blog.csdn.net/Knight94/archive/2006/08/18/1094078.aspx
你在我的基础上加上history功能。
sdl2005lyx
2006-08-30
打赏
举报
回复
谢谢Knight94(愚翁) ,我正在用你的方法改造我的控件,等改造成功,就可以揭帖啦。。。。
kyle315
2006-08-29
打赏
举报
回复
我有一个,不过没有做滚动条,滚动条你可以修改一下自己加上,把邮箱留下,发给你。图形的参数可以自己设定,使用时传入一个数组即可。
sdl2005lyx
2006-08-29
打赏
举报
回复
没人理,自己顶一下:
如何实现动态折线的绘制,就是动态的获取坐标数据,然后连接起来。请问哪位大侠有着方面的源码,或者有这样的控件?!
老板要我交活了,着急啊!
3天掌握Windows
GDI+
图形编程
GDI+
(Graphics Device Interface plus)是以前版本GDI的继承者,出于兼容性考虑,Windows XP仍然支持以前版本的GDI,但是在开发新应用程序的时候,开发人员为了满足图形输出需要应该使用
GDI+
,因为
GDI+
对以前的...
系统:Shell和GDI Thread和杂项等
急
!! T请各位
高手
指教,在c 语言中,用程序怎样判断要操作的是一个目录还是一个文件?在c语言中要调用api函数时许包含什么头文件?具体要用到什么函数请多多帮忙!!谢谢!!APathIsDirectory#include Q用程序...
C# 访问 SSIS 的 package
通常大家在做 BI 或者数据集成时,都会使用 SQL Job 调用 SSIS 包,但是有时候需要编程来... hibernate查询问题 Java 生产者 消费者 哪里有
gdi+
做的小游戏(代码)? Java中线程的问题 好烦 是否可以在richedit 指定...
MINIGUI常见错误集及解决方法
请
高手
们指教,多谢: 定义调用方式而已,比如,编译MINIGUI库的时候,如果是采用windows下的DLL方式,则定义GUIAPI __declspec(dllexport),而编译应用程序的时候,定义GUIAPI 为__declspec(dllimport)就可以了...
怎么在指定天数以后,结束一个进程并删除进程文件??(整理自csdn)
问题:求救:1.在指定天数后,结束一个进程并删除进程文件。 进程名 shell.exe lms.exe 进程文件路径 c:/lms2/shell.exe 2.指定的天数 写在一个txt文本文件里面,用户可以修改里面的天数值。 很
急
在线等,请
高手
C#
110,534
社区成员
642,575
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章