社区
GAME,图形处理/多媒体
帖子详情
DELPHI大挑站
LCR2002
2004-01-12 02:39:43
各位用DELPHI画各种图形,
直线,曲线,多边形等!
请指点明路!
...全文
26
13
打赏
收藏
DELPHI大挑站
各位用DELPHI画各种图形, 直线,曲线,多边形等! 请指点明路!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
CPPBuilderExpert
2004-01-24
打赏
举报
回复
我觉得上面的说的都非常好。我补充一点,如果要开发一个简单的矢量绘图程序,那就要进行良好的设计模式构架。首先,将程序的对象分为绘制容器和绘制项目两类,绘制项目就是圆形、方形等这些个图形;容器就是画布本身。为了使开发的对象体系有很好的延伸性,应该首先定义两个根类,其一是容器对象的根类(TShapeContainer),提供最基本的容器服务函数,然后是图形物体(TShapeObject)的根类,这个根类具备所有形状物件的共性的成员,以及定义好它和容器之间的信息沟通方式,包括鼠标选中、绘制/重绘函数,位置、大小属性等等,TShapeObject还应该具备纯虚的绘制方法(DrawShape)成员函数以及得有一个TBitmap的成员对象,充当后台的绘制Buffer。而TShapeContainer则至少应该有一个TShapeObject的动态链表。TShapeContainer可以直接由TFrame派生,这样,会带来很多的方便。在编写代码的同时,可以在Frame上放置一个ScrollBox控件,然后在ScrollBox里面放一个PaintBox,这样,可以方便的进行很多要素的绘制。
自然,两个根类的成员很多都将是虚函数(Virtual),甚至于是纯虚函数(Abstract)。然后可以对TShapeContainer进行派生,派生出一个具体的画图板类;对TShapeObject进行派生,每一种形状都是一种后代类,覆盖实现DrawShape函数。
这种设计模式可以称之为“画图板模式”。
这样编写出来后,才是一个充分可扩展,灵活方便,内在构架良好的画图板模块。
SydPink
2004-01-23
打赏
举报
回复
各种图形元素写成CLASS,自己定义数据结构.这样才能做成矢量的.在PAINTBOX的ONPAINT里调用各个CLASS的PAINT方法.图形就不会不刷新而消失了.注意刷新的优化,图形而且是适量图太多的话.操作就慢了.建议用双缓冲.在内存里CREATE一个BMP.在这个内存BMP里做绘制操作.完成后一次性贴出来.PAINTBOX.DRAW(0,0,BMP);不会闪了.不要用IMAGE ,用PAINTBOX不会自己刷新.自己管理刷新才不会闪.
cst01
2004-01-18
打赏
举报
回复
一般的程序用Timage.Canvas
如果用了DelphiX
就用TDXDraw.Surface.Canvas
delphiplus
2004-01-17
打赏
举报
回复
建议用Image控件的TCanvas
along3000
2004-01-12
打赏
举报
回复
同意楼上。
亲密数
2004-01-12
打赏
举报
回复
各种图形都有
canvas.LineTo();
canvas.MoveTo();
canvas.Pie();
canvas.Pixels[x,y]等。重新刷新的话会消失的。你可以在timage上面画就不会消失了。
koy0755(koy)说的很有创意啊。
qhlkj
2004-01-12
打赏
举报
回复
去找个“涂鸦”程序啦
LCR2002
2004-01-12
打赏
举报
回复
记录光标的X,Y坐标?
怎么做比较好
koy0755
2004-01-12
打赏
举报
回复
好像在canvas上画图,窗口重绘时就会消失。建议直接用油性水笔在屏幕上画。
Dlwxn
2004-01-12
打赏
举报
回复
其实你随便找一本Delphi的书,上面都有介绍。
Dlwxn
2004-01-12
打赏
举报
回复
其实你随便找一本Delphi的书,上面都有介绍。
LCR2002
2004-01-12
打赏
举报
回复
是怎么用的了!
cll007
2004-01-12
打赏
举报
回复
canvas对象就是用来画图的
rsa加密算法(
Delphi
实现).zip
但在分布式计算和量子计算机理论日趋成熟的今天,RSA加密安全性受到了挑战。 RSA算法基于一个十分简单的数论事实:将两个大质数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密...
Delphi
制作的三角形迷宫生成器
5、觉得三角形迷宫更有挑战性,另外想试试以前学的数据结构指针、链表、树、连通图的知识是不是忘光了, 就做了个三角形迷宫,而且索性做成一个完善的
Delphi
控件,而且有不少属性。。。 6、有几个要解释下:1)...
delphi
人力 管理系统(sql+
Delphi
)
是应对挑战、适应环境变化、提高企业管理效率、提升核心竞争力的关键措施。 1.2 系统目标 使企业日常事务性的人事工作都可能通过人力资源管理软件得到快速高效的完成。降低人力资源成本。通过员工工资的自动计算功能...
delphi
超级实例偏hacker
flj2001jc@163.com<br><br>WinNT process API Interface Unit.txt<br>体积3k自动获取对方昵称的QQ尾巴演示代码.txt 发出来NBSI
delphi
版的代码.txt 图片木马全解析.txt 堂木马编写DIY.txt 完整的服务...
人力资源管理系统-
delphi
,主要是对部门的设置及员工的调动、离职、复职等功能进行操作,使用起来方便、快捷,是各大企业腾龙发展的好帮手。 人力资源管理系统是一个企业单位不可缺少的部分,是适应现代企业制度,推动企业人力资源管理走向...
GAME,图形处理/多媒体
1,183
社区成员
14,336
社区内容
发帖
与我相关
我的任务
GAME,图形处理/多媒体
Delphi GAME,图形处理/多媒体
复制链接
扫一扫
分享
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章