用VC++6.0实现的扫描线填充,裁剪算法及画线方法 CPenpen(PS_SOLID,1,fillcolor);//设置扫描线所用笔的属性 CPen*old=pDC->SelectObject(&pen); intj,k,s=0; intp[9];//每根扫描线交点 intpmin=1000; intpmax=0; for(inti=0;i<inLength;i++)//建立边表 { edge[i].dx=(float)(inVertexArray[i+1].x-inVertexArray[i].x)/(inVertexArray[i+1].y-inVertexArray[i].y); edge[i].num=i; if(inVertexArray[i].y<=inVertexArray[i+1].y) { edge[i].ymin=inVertexArray[i].y; edge[i].ymax=inVertexArray[i+1].y; edge[i].xmin=(float)inVertexArray[i].x; edge[i].xmax=(float)inVertexArray[i+1].x; } else{ edge[i].ymin=inVertexArray[i+1].y; edge[i].ymax=inVertexArray[i].y; edge[i].xmax=(float)inVertexArray[i].x; edge[i].xmin=(float)inVertexArray[i+1].x; } } //求多边形的最大最小值 for(intm=1;m<inLength;m++) { for(intn=0;n<inLength-m;n++) { if(pmaxinVertexArray[n].y) pmin=inVertexArray[n].y; } } for(intr=1;r<inLength;r++) //边表edge排序 { for(intq=0;q<inLength-r;q++) { if(edge[q].yminpmin;scan--)//扫描线遵守'“上开下闭”的原则 { intb=0; k=s; for(j=k;j=edge[j].ymin)&&(scan<=edge[j].ymax))//判断扫描线与线段是否相交于顶点 { intpreNum=edge[j].num; intnextNum=edge[j].num+1; if(preNum==0) preNum=inLength-1; else preNum=preNum-1; if(nextNum==inLength) nextNum=0; if(scan==edge[j].ymax)//位于下顶点时,根据相临点的位置决定取几个点 { if(inVertexArray[nextNum].y<edge[j].ymax) { b++; p[b]=(int)edge[j].xmax; } if(inVertexArray[preNum].yedge[j].ymin)&&(scan<edge[j].
2025/7/20 4:20:18 83KB 图形学 扫描线 裁剪 DDALine
1
C#开发的一个简单的SVG文件编辑器,可以创建、编辑SVG文件,编辑器可以添加各种图层、形状并修改属性。
SVG文件的一些基本操作。
2025/7/19 21:24:07 225KB C# SVG文件
1
本电脑销售系统的数据库共需建立三个表,一个是库存表,主要有型号、价格、品牌、库存量等属性。
一个是销售人员信息表,主要有销售人员姓名、年龄、性别、员工号等属性。
还有一个是销售表,主要有员工号、型号、数量、价格、金额和销售时间等信息。
实现当销售某种产品时修改库存量中的信息和按销售时间进行查询的功能。
2025/7/18 9:43:08 240KB 电脑销售 数据库 课程设计
1
全书共分10章。
第1章介绍PowerBuilder9.0的特性、PowerBuilder集成开发环境的组成与使用以及用PowerBuilder开发一个应用程序的基本过程。
第2章介绍PowerBuilder提供的AdaptiveServerAnywhere数据库管理系统的使用,包括数据库、表、主键、外键、索引、视图的创建以及数据操纵和安全管理。
第3章介绍PowerScript编程语言的语法规则、数据类型、控制语句和嵌入式SQL语句,并介绍面向对象程序设计技术。
第4章介绍应用的有关概念以及应用对象的创建方法和典型脚本的编写。
第5章介绍窗口对象的创建及属性设置方法、窗口中常用控件的属性设置及常用事件的编程。
第6章介绍菜单对象的创建、属性设置及典型编程。
第7章介绍数据窗口对象的创建方法、数据窗口中控件对象的属性设置和添加新对象的方法,并介绍数据窗口控件及实现典型数据操作的函数。
第8章介绍用户对象和用户事件的概念及创建与使用方法。
第9章介绍应用程序的调试方法、生成可执行程序的方法以及应用系统安装程序的制作方法。
第10章通过“学生成绩管理系统”实例,详细系统地介绍使用PowerBuilder开发数据库应用系统的方法和过程。
2025/7/17 5:49:48 7.31MB PB9.0学习资料
1
B通过ActiveX的DLL与S7-1200/1500以太网通讯该类通讯组件适用于基于PC高级语言的工业自动化控制系统,用于PC与可编程控制器(PLC)、智能仪表等进行数据通讯。
组件采用动态链接库文件(*.DLL)的形式,在PC系统的项目工程里引用该组件,调用相应的属性与方法函数,即可快速实现PC与PLC的数据高效交换。
DLL通讯组件无须安装,直接复制到工程文件目录,方便打包安装部署;
无须任何配置,直接调用函数,与应用开发无缝衔接;
多年工程经验的软件团队开发测试,经过本公司及客户的海量实际应用检验,稳定可靠;
采用稳定高效的内部协议,无须编写PLC内部程序配合,直接访问PLC的内存,通讯响应快速;
内建动态管理的多独立线程连接,同时支持外部应用的多线程结构调用;
兼容WINDOWS系统下的所有开发环境,包括各种版本的VB.NET、C#、VC++,以及DEIPHI、VB、LabView等;
支持几乎所有PLC的CPU自带通讯口、通讯扩展模块。
2025/7/16 14:45:33 2.48MB 以太网通讯
1
在线考试毕业设计,完整版包括:一.毕业设计论文(答辩)二.附件三.开题报告(答辩)四.翻译五.源程序1.绪论 11.1传统考试的弊端 11.2在线考试系统的问题的提出及发展背景 11.3考试系统的研究目的及其意义 21.4考试系统的功能和作用 21.5课题研究的主要内容以及个人任务 31.6课题研究的价值 32.可行性研究 42.1可行性分析 42.1.1技术可行性 42.1.2经济可行性 42.1.3操作可行性 42.2系统实现目标 42.3ASP.NET概述 52.3.1ASP.NET的技术概述 52.3.2ASP.NET程序运行原理 52.3.3ASP.NET与数据库访问 63.需求分析 73.1系统需要解决的主要问题 73.2系统应该具备的基本功能 74.系统设计 84.1考试系统总体结构设计 84.4.1网站风格 84.1.2登录与导航模块 94.1.2在线考试模块 94.1.3管理模块 94.2数据库的设计 94.2.1基本概念 94.2.2数据模型 104.2.3数据库设计方法简述 114.2.4数据库设计的基本步骤 124.3属性图 134.3.1学生信息属性图 134.3.2成绩属性图 134.4考试系统数据库建表及其说明 134.5系统流程图 165.系统实现 175.1用户登录 175.2用户注册 195.3导航栏 196.功能测试 206.1测试目标 206.2测试项目说明 206.3测试评价 207.结论 21谢辞 22参考文献 23附录:程序部分后台代码 24用户登录: 24用户注册: 27用户信息管理: 28查看成绩: 30
2025/7/16 10:23:39 9.36MB 毕业设计 在线考试
1
基于PHP的在线论坛,含有数据库,可进行后台管理。
本模块应用MySQL数据库,其数据库文件存储于项目根目录的data文件夹下,在运行项目前需要完成数据库的附加操作,即将data文件夹下的mr_mysql拷贝到您本机的MySQL的data文件夹下,同时切忌要去掉数据库文件mr_mysql的只读属性,否则不能向数据库中添加数据。
2025/7/15 13:48:11 477KB PHP 在线论坛 数据库
1
android系统内置数据库字段描述,方便android开发者了解系统数据库结构,各自段的表示(属性),快速来、开发android应用。
1
teechartvb代码包含teechart的所有属性机方法的调用
2025/7/12 13:01:53 826B teechart vb
1
《构建Wireshark风格的网络抓包与分析工具——基于vc++6.0及WinPCAP库》网络抓包与分析是网络安全、系统优化、故障排查等领域的重要技术手段,而Wireshark作为业界广泛使用的开源工具,为用户提供了一种强大且直观的方式来查看网络通信的细节。
本文将介绍如何使用vc++6.0编程环境,结合WinPCAP库,开发一个类似Wireshark的网络数据包捕获与分析工具。
理解WinPCAP库是关键。
WinPCAP(WindowsPacketCapture)是MicrosoftWindows平台上的一个开源网络数据包捕获和网络监视系统,它允许应用程序访问网络接口的底层数据传输。
通过WinPCAP,我们可以实现对网络流量的实时监控,获取原始的数据包,并进行解析和分析。
在vc++6.0环境下,我们需要进行以下步骤来构建这个工具:1.**项目设置**:创建一个新的MFC应用程序,选择“对话框”模板,因为我们的目标是创建一个带有用户界面的工具。
2.**引入WinPCAP库**:下载并安装WinPCAP开发库,然后在项目的“配置属性”中添加WinPCAP头文件和库文件的路径。
3.**初始化WinPCAP**:在程序启动时,我们需要调用`wpcap_init()`函数初始化WinPCAP库,然后通过`pcap_open_live()`函数打开一个网络接口,以便开始捕获数据包。
4.**数据包捕获**:使用`pcap_loop()`或`pcap_next()`函数持续监听网络接口,每当有新的数据包到达时,这些函数会调用预定义的回调函数,将数据包传递给我们的程序进行处理。
5.**数据包解析**:解析捕获到的数据包需要理解网络协议栈的工作原理。
TCP/IP协议族包括链路层、网络层、传输层和应用层,每层都有各自的头部结构。
例如,以太网头部、IP头部、TCP或UDP头部等。
使用WinPCAP库提供的`pcap_pkthdr`和`pcap_pktdat`结构体,我们可以获取到每个数据包的头部信息和载荷数据。
6.**显示和分析**:根据解析结果,将数据包的关键信息(如源/目的IP、端口、协议类型、时间戳等)展示在对话框的列表控件中。
更进一步,可以实现协议分析功能,如TCP流重组、HTTP请求内容查看等。
7.**过滤功能**:Wireshark的一个显著特性是强大的过滤器。
我们可以实现自定义的过滤规则,让用户能够筛选出特定类型的数据包。
这通常涉及解析头部信息并应用逻辑条件。
8.**文件导出**:为了便于后续分析,提供数据包导出功能是必要的。
可以将捕获的数据包保存为Wireshark通用的pcap格式,以便在Wireshark或其他支持该格式的工具中打开。
9.**错误处理和优化**:确保程序在遇到错误时能够适当地通知用户,并提供关闭捕获、释放资源的选项。
此外,考虑性能优化,比如限制捕获速率,防止过度占用系统资源。
通过以上步骤,我们可以构建一个基本的网络抓包与分析工具,尽管功能可能不及Wireshark全面,但对于学习网络协议、理解数据包结构以及进行简单的网络调试来说已经足够。
随着深入学习和实践,可以逐步增加更多高级特性,使工具更加实用和专业。
2025/7/12 13:32:43 4.66MB 网络数据报抓取 分析工具 Wireshark
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡