做异形窗口有没有快速算法?

2ndboy 2001-07-21 05:57:13
我现在的算法是双层循环扫描位图,将不是透明色的点合入区域,效果没问题可是太慢,有没有快速的算法(不用Mark图,不用简单几何形状的拼接,而是任意形状的)?
...全文
194 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
PolarLights 2002-01-13
  • 打赏
  • 举报
回复
好像有Api函数可从位图获取区域
不过我不记得了,让我找找,找到的再贴上来
skt985 2002-01-11
  • 打赏
  • 举报
回复
25240关注!
111222 2001-12-20
  • 打赏
  • 举报
回复
up^
2ndboy 2001-07-26
  • 打赏
  • 举报
回复
当然,我没有WinAMP的源代码,我所知道的一切都是分析得出的。
WinAMP的皮肤是位图,另有与之配合的文本文件,里面存有位图的轮廓信息,WinAMP读出后用多边形函数把这些点连起来就得到一个形状,作为皮肤。由于不是即时运算所以速度快。
Tiger_张虎 2001-07-26
  • 打赏
  • 举报
回复
对,就是WinAMP的皮肤.
2ndboy 2001-07-25
  • 打赏
  • 举报
回复
什么?你说什么是怎么实现的,WinAMP?
Tiger_张虎 2001-07-24
  • 打赏
  • 举报
回复
不知你觉得它是怎么实现的,说出来大家研究研究。
2ndboy 2001-07-21
  • 打赏
  • 举报
回复
谢谢两位,本来想每人30分的,但是只能是总和给30分所以只能每人15分了。
WinAMP的皮肤支持非矩形,但是它的换肤速度很快,而且我想它的实现应该没有用到保存区域。
请各位继续就这个问题讨论,只要有价值我一定给分(为了学习嘛)!!!
azuo_lee 2001-07-21
  • 打赏
  • 举报
回复
慢是慢,但是为了不牺牲Region的精度,似乎别无它法。不过你可以不要每次启动程序都做这件工作,而是将扫描好的Region数据作为程序资源的一部分,以后每次启动程序只读出此Region即可,没必要每次都扫描——除非你的程序界面可以由用户指定,不得不动态生成。
Tiger_张虎 2001-07-21
  • 打赏
  • 举报
回复
可在第一次运行时把生成的RGN保存为文件,以后直接调用, 速度会很快.
我收集了一个程序可能对你有用, 到我的网站shadowsoft.126.com或是easyvc.126.com去看看.
2ndboy 2001-07-21
  • 打赏
  • 举报
回复
凡是提供有价值信息的兄弟都有分!
本光盘包括三部分内容。 1.本书源代码 包含了本书的1~50章全部源代码。 2.ICON 包含了作者多年收集的精美图标。 3.本书附录 包含了ADO常用类介绍和Windows常用消息大全两项内容。 ================================================================================================================================ 第1章 光驱开关控制程序 第2章 系统硬件信息查看器 第3章 注册表操作 第4章 读取网卡物理地址 第5章 剪贴板查看程序 第6章 进程查看程序 第7章 透明窗体实例 第8章 状态栏对话框 第9章 带微调和滑动条控件的工具栏 第10章 仿Winamp界面多媒体播放器 第11章 数据库操作--ODBC篇 第12章 数据库操作-DAO篇 第13章 数据库操作-ADO篇 第14章 Excel编程 第15章 拨号上网实例 第16章 FTP协议编程 第17章 Telnet协议编程 第18章 Email协议编程 第19章 基于UDP协议的网段扫描器 第20章 具有异形窗口的网络电话 第21章 电影播放器 第22章 AVI视频制作编程 第23章 文字语音朗读编程 第24章 浏览EXE或DLL文件的所有图标 第25章 BMP位图操作 第26章 滚动浏览位图 第27章 透明位图背景上的滚动字幕实例 第28章 小波算法的VC实现 第29章 基因算法的VC实现 第30章 多线程串口Modem远程数据通信 第31章 Windows XP风格之微软篇 第32章 Windows XP风格之Windows XP风格菜单 第33章 Windows XP风格之Office XP风格菜单 第34章 Windows XP风格之Windows XP风格SDI例程 第35章 Windows XP风格之Windows XP风格对话框 第36章 Windows XP风格之Windows XP风格按钮和滚动条ActiveX控件 第37章 动态链接库(DLL)实例 第38章 文件查找 第39章 只运行一个实例的程序 第40章 使用键盘钩子实现按键发音程序 第41章 密码探测器 第42章 多线程实例 第43章 进程通信 第44章 读取Intel CPU序列号 第45章 获取硬盘序列号 第46章 消息循环重载实例 第47章 运行后自销毁的程序 第48章 VC中OpenGL编程实现虚拟现实 第49章 图像复合文档高级编程 第50章 基于卫星通信的汽车牌照识别监控系统 =========================================================================================================================== 本书中所有例程在Windows2000 Professonal+VC++6.0(英文企业版+SP5)下调试通过,绝大部分例程可以在Windows98/ME/2000/XP下运行,且可以 在Visual Studio.Net中自动转换为VC.NET工程。建议读者安装Microsoft Access 2000/XP方便修改数据库篇用到的*.mdb数据库文件。 每章例程源代码中包括源文件和编译好的exe可执行文件(该文件可能位于本章工程目录中或者工程目录下的Debug目录中) 。 注意事项: 1. 若读者将源代码光盘全部复制到硬盘上调试,则复制完成后应该去掉文件的只读属性,否则在硬盘上重新编译工程时会出现不可写的提示。 2. 本书例程大部分采用的是动态链接,读者在未装VC的PC机上运行每章例程中的可执行文件时,可能会出现找不到mfc42.dll等动态链接库的情况, 读者此时可采用静态链接,具体操作为:VC中菜单Project->Setting->General->Microsoft Foundation Classes 选为“Use MFC in a Static Library”,重新编译工程即可。 3. 若按F5调试程序时,VC提示不能进行调试,此时请将VC中菜单->Build->Set Active Configuration选为“Win32 Debug”,重新编译工程即可。 4. 在VC中若运行工程时提示不能执行exe文件,此时请将VC中菜单Project->Setting->General->Executable for debug Session 重新定位到该工 程的exe可执行文件
本光盘包括三部分内容。 1.本书源代码 包含了本书的1~50章全部源代码。 2.ICON 包含了作者多年收集的精美图标。 3.本书附录 包含了ADO常用类介绍和Windows常用消息大全两项内容。 ================================================================================================================================ 第1章 光驱开关控制程序 第2章 系统硬件信息查看器 第3章 注册表操作 第4章 读取网卡物理地址 第5章 剪贴板查看程序 第6章 进程查看程序 第7章 透明窗体实例 第8章 状态栏对话框 第9章 带微调和滑动条控件的工具栏 第10章 仿Winamp界面多媒体播放器 第11章 数据库操作--ODBC篇 第12章 数据库操作-DAO篇 第13章 数据库操作-ADO篇 第14章 Excel编程 第15章 拨号上网实例 第16章 FTP协议编程 第17章 Telnet协议编程 第18章 Email协议编程 第19章 基于UDP协议的网段扫描器 第20章 具有异形窗口的网络电话 第21章 电影播放器 第22章 AVI视频制作编程 第23章 文字语音朗读编程 第24章 浏览EXE或DLL文件的所有图标 第25章 BMP位图操作 第26章 滚动浏览位图 第27章 透明位图背景上的滚动字幕实例 第28章 小波算法的VC实现 第29章 基因算法的VC实现 第30章 多线程串口Modem远程数据通信 第31章 Windows XP风格之微软篇 第32章 Windows XP风格之Windows XP风格菜单 第33章 Windows XP风格之Office XP风格菜单 第34章 Windows XP风格之Windows XP风格SDI例程 第35章 Windows XP风格之Windows XP风格对话框 第36章 Windows XP风格之Windows XP风格按钮和滚动条ActiveX控件 第37章 动态链接库(DLL)实例 第38章 文件查找 第39章 只运行一个实例的程序 第40章 使用键盘钩子实现按键发音程序 第41章 密码探测器 第42章 多线程实例 第43章 进程通信 第44章 读取Intel CPU序列号 第45章 获取硬盘序列号 第46章 消息循环重载实例 第47章 运行后自销毁的程序 第48章 VC中OpenGL编程实现虚拟现实 第49章 图像复合文档高级编程 第50章 基于卫星通信的汽车牌照识别监控系统 =========================================================================================================================== 本书中所有例程在Windows2000 Professonal+VC++6.0(英文企业版+SP5)下调试通过,绝大部分例程可以在Windows98/ME/2000/XP下运行,且可以 在Visual Studio.Net中自动转换为VC.NET工程。建议读者安装Microsoft Access 2000/XP方便修改数据库篇用到的*.mdb数据库文件。 每章例程源代码中包括源文件和编译好的exe可执行文件(该文件可能位于本章工程目录中或者工程目录下的Debug目录中) 。 注意事项: 1. 若读者将源代码光盘全部复制到硬盘上调试,则复制完成后应该去掉文件的只读属性,否则在硬盘上重新编译工程时会出现不可写的提示。 2. 本书例程大部分采用的是动态链接,读者在未装VC的PC机上运行每章例程中的可执行文件时,可能会出现找不到mfc42.dll等动态链接库的情况, 读者此时可采用静态链接,具体操作为:VC中菜单Project->Setting->General->Microsoft Foundation Classes 选为“Use MFC in a Static Library”,重新编译工程即可。 3. 若按F5调试程序时,VC提示不能进行调试,此时请将VC中菜单->Build->Set Active Configuration选为“Win32 Debug”,重新编译工程即可。 4. 在VC中若运行工程时提示不能执行exe文件,此时请将VC中菜单Project->Setting->General->Executable for debug Session 重新定位到该工 程的exe可执行文件
本光盘包括三部分内容。 1.本书源代码 包含了本书的1~50章全部源代码。 2.ICON 包含了作者多年收集的精美图标。 3.本书附录 包含了ADO常用类介绍和Windows常用消息大全两项内容。 ================================================================================================================================ 第1章 光驱开关控制程序 第2章 系统硬件信息查看器 第3章 注册表操作 第4章 读取网卡物理地址 第5章 剪贴板查看程序 第6章 进程查看程序 第7章 透明窗体实例 第8章 状态栏对话框 第9章 带微调和滑动条控件的工具栏 第10章 仿Winamp界面多媒体播放器 第11章 数据库操作--ODBC篇 第12章 数据库操作-DAO篇 第13章 数据库操作-ADO篇 第14章 Excel编程 第15章 拨号上网实例 第16章 FTP协议编程 第17章 Telnet协议编程 第18章 Email协议编程 第19章 基于UDP协议的网段扫描器 第20章 具有异形窗口的网络电话 第21章 电影播放器 第22章 AVI视频制作编程 第23章 文字语音朗读编程 第24章 浏览EXE或DLL文件的所有图标 第25章 BMP位图操作 第26章 滚动浏览位图 第27章 透明位图背景上的滚动字幕实例 第28章 小波算法的VC实现 第29章 基因算法的VC实现 第30章 多线程串口Modem远程数据通信 第31章 Windows XP风格之微软篇 第32章 Windows XP风格之Windows XP风格菜单 第33章 Windows XP风格之Office XP风格菜单 第34章 Windows XP风格之Windows XP风格SDI例程 第35章 Windows XP风格之Windows XP风格对话框 第36章 Windows XP风格之Windows XP风格按钮和滚动条ActiveX控件 第37章 动态链接库(DLL)实例 第38章 文件查找 第39章 只运行一个实例的程序 第40章 使用键盘钩子实现按键发音程序 第41章 密码探测器 第42章 多线程实例 第43章 进程通信 第44章 读取Intel CPU序列号 第45章 获取硬盘序列号 第46章 消息循环重载实例 第47章 运行后自销毁的程序 第48章 VC中OpenGL编程实现虚拟现实 第49章 图像复合文档高级编程 第50章 基于卫星通信的汽车牌照识别监控系统 =========================================================================================================================== 本书中所有例程在Windows2000 Professonal+VC++6.0(英文企业版+SP5)下调试通过,绝大部分例程可以在Windows98/ME/2000/XP下运行,且可以 在Visual Studio.Net中自动转换为VC.NET工程。建议读者安装Microsoft Access 2000/XP方便修改数据库篇用到的*.mdb数据库文件。 每章例程源代码中包括源文件和编译好的exe可执行文件(该文件可能位于本章工程目录中或者工程目录下的Debug目录中) 。 注意事项: 1. 若读者将源代码光盘全部复制到硬盘上调试,则复制完成后应该去掉文件的只读属性,否则在硬盘上重新编译工程时会出现不可写的提示。 2. 本书例程大部分采用的是动态链接,读者在未装VC的PC机上运行每章例程中的可执行文件时,可能会出现找不到mfc42.dll等动态链接库的情况, 读者此时可采用静态链接,具体操作为:VC中菜单Project->Setting->General->Microsoft Foundation Classes 选为“Use MFC in a Static Library”,重新编译工程即可。 3. 若按F5调试程序时,VC提示不能进行调试,此时请将VC中菜单->Build->Set Active Configuration选为“Win32 Debug”,重新编译工程即可。 4. 在VC中若运行工程时提示不能执行exe文件,此时请将VC中菜单Project->Setting->General->Executable for debug Session 重新定位到该工 程的exe可执行文件
本光盘包括三部分内容。 1.本书源代码 包含了本书的1~50章全部源代码。 2.ICON 包含了作者多年收集的精美图标。 3.本书附录 包含了ADO常用类介绍和Windows常用消息大全两项内容。 ================================================================================================================================ 第1章 光驱开关控制程序 第2章 系统硬件信息查看器 第3章 注册表操作 第4章 读取网卡物理地址 第5章 剪贴板查看程序 第6章 进程查看程序 第7章 透明窗体实例 第8章 状态栏对话框 第9章 带微调和滑动条控件的工具栏 第10章 仿Winamp界面多媒体播放器 第11章 数据库操作--ODBC篇 第12章 数据库操作-DAO篇 第13章 数据库操作-ADO篇 第14章 Excel编程 第15章 拨号上网实例 第16章 FTP协议编程 第17章 Telnet协议编程 第18章 Email协议编程 第19章 基于UDP协议的网段扫描器 第20章 具有异形窗口的网络电话 第21章 电影播放器 第22章 AVI视频制作编程 第23章 文字语音朗读编程 第24章 浏览EXE或DLL文件的所有图标 第25章 BMP位图操作 第26章 滚动浏览位图 第27章 透明位图背景上的滚动字幕实例 第28章 小波算法的VC实现 第29章 基因算法的VC实现 第30章 多线程串口Modem远程数据通信 第31章 Windows XP风格之微软篇 第32章 Windows XP风格之Windows XP风格菜单 第33章 Windows XP风格之Office XP风格菜单 第34章 Windows XP风格之Windows XP风格SDI例程 第35章 Windows XP风格之Windows XP风格对话框 第36章 Windows XP风格之Windows XP风格按钮和滚动条ActiveX控件 第37章 动态链接库(DLL)实例 第38章 文件查找 第39章 只运行一个实例的程序 第40章 使用键盘钩子实现按键发音程序 第41章 密码探测器 第42章 多线程实例 第43章 进程通信 第44章 读取Intel CPU序列号 第45章 获取硬盘序列号 第46章 消息循环重载实例 第47章 运行后自销毁的程序 第48章 VC中OpenGL编程实现虚拟现实 第49章 图像复合文档高级编程 第50章 基于卫星通信的汽车牌照识别监控系统 =========================================================================================================================== 本书中所有例程在Windows2000 Professonal+VC++6.0(英文企业版+SP5)下调试通过,绝大部分例程可以在Windows98/ME/2000/XP下运行,且可以 在Visual Studio.Net中自动转换为VC.NET工程。建议读者安装Microsoft Access 2000/XP方便修改数据库篇用到的*.mdb数据库文件。 每章例程源代码中包括源文件和编译好的exe可执行文件(该文件可能位于本章工程目录中或者工程目录下的Debug目录中) 。 注意事项: 1. 若读者将源代码光盘全部复制到硬盘上调试,则复制完成后应该去掉文件的只读属性,否则在硬盘上重新编译工程时会出现不可写的提示。 2. 本书例程大部分采用的是动态链接,读者在未装VC的PC机上运行每章例程中的可执行文件时,可能会出现找不到mfc42.dll等动态链接库的情况, 读者此时可采用静态链接,具体操作为:VC中菜单Project->Setting->General->Microsoft Foundation Classes 选为“Use MFC in a Static Library”,重新编译工程即可。 3. 若按F5调试程序时,VC提示不能进行调试,此时请将VC中菜单->Build->Set Active Configuration选为“Win32 Debug”,重新编译工程即可。 4. 在VC中若运行工程时提示不能执行exe文件,此时请将VC中菜单Project->Setting->General->Executable for debug Session 重新定位到该工 程的exe可执行文件
本光盘包括三部分内容。 1.本书源代码 包含了本书的1~50章全部源代码。 2.ICON 包含了作者多年收集的精美图标。 3.本书附录 包含了ADO常用类介绍和Windows常用消息大全两项内容。 ================================================================================================================================ 第1章 光驱开关控制程序 第2章 系统硬件信息查看器 第3章 注册表操作 第4章 读取网卡物理地址 第5章 剪贴板查看程序 第6章 进程查看程序 第7章 透明窗体实例 第8章 状态栏对话框 第9章 带微调和滑动条控件的工具栏 第10章 仿Winamp界面多媒体播放器 第11章 数据库操作--ODBC篇 第12章 数据库操作-DAO篇 第13章 数据库操作-ADO篇 第14章 Excel编程 第15章 拨号上网实例 第16章 FTP协议编程 第17章 Telnet协议编程 第18章 Email协议编程 第19章 基于UDP协议的网段扫描器 第20章 具有异形窗口的网络电话 第21章 电影播放器 第22章 AVI视频制作编程 第23章 文字语音朗读编程 第24章 浏览EXE或DLL文件的所有图标 第25章 BMP位图操作 第26章 滚动浏览位图 第27章 透明位图背景上的滚动字幕实例 第28章 小波算法的VC实现 第29章 基因算法的VC实现 第30章 多线程串口Modem远程数据通信 第31章 Windows XP风格之微软篇 第32章 Windows XP风格之Windows XP风格菜单 第33章 Windows XP风格之Office XP风格菜单 第34章 Windows XP风格之Windows XP风格SDI例程 第35章 Windows XP风格之Windows XP风格对话框 第36章 Windows XP风格之Windows XP风格按钮和滚动条ActiveX控件 第37章 动态链接库(DLL)实例 第38章 文件查找 第39章 只运行一个实例的程序 第40章 使用键盘钩子实现按键发音程序 第41章 密码探测器 第42章 多线程实例 第43章 进程通信 第44章 读取Intel CPU序列号 第45章 获取硬盘序列号 第46章 消息循环重载实例 第47章 运行后自销毁的程序 第48章 VC中OpenGL编程实现虚拟现实 第49章 图像复合文档高级编程 第50章 基于卫星通信的汽车牌照识别监控系统 =========================================================================================================================== 本书中所有例程在Windows2000 Professonal+VC++6.0(英文企业版+SP5)下调试通过,绝大部分例程可以在Windows98/ME/2000/XP下运行,且可以 在Visual Studio.Net中自动转换为VC.NET工程。建议读者安装Microsoft Access 2000/XP方便修改数据库篇用到的*.mdb数据库文件。 每章例程源代码中包括源文件和编译好的exe可执行文件(该文件可能位于本章工程目录中或者工程目录下的Debug目录中) 。 注意事项: 1. 若读者将源代码光盘全部复制到硬盘上调试,则复制完成后应该去掉文件的只读属性,否则在硬盘上重新编译工程时会出现不可写的提示。 2. 本书例程大部分采用的是动态链接,读者在未装VC的PC机上运行每章例程中的可执行文件时,可能会出现找不到mfc42.dll等动态链接库的情况, 读者此时可采用静态链接,具体操作为:VC中菜单Project->Setting->General->Microsoft Foundation Classes 选为“Use MFC in a Static Library”,重新编译工程即可。 3. 若按F5调试程序时,VC提示不能进行调试,此时请将VC中菜单->Build->Set Active Configuration选为“Win32 Debug”,重新编译工程即可。 4. 在VC中若运行工程时提示不能执行exe文件,此时请将VC中菜单Project->Setting->General->Executable for debug Session 重新定位到该工 程的exe可执行文件即可。 附件 CButtonST为一个很有名也非常实用的按钮类,这里给出其一个最新的同时经过作者修改的增强版本。 附件CButtonST ADO常用类介绍.doc 为了方便的操作ADO,这里提供4个类:CADODatabase,CADORecordset,CADOParameter,CADOCommand ,下面对类的成员作一介绍。 B.1 CADODatabase类函数介绍 CADODatabase类包含关于_ConnectionPtr的函数集合。 // 打开一个数据库连接 BOOL CADODatabase::Open ( LPCTSTR lpstrConnection = _T("");//连接字符串 ) 示例: // 访问SQL Server示例 CADODatabase pAdoDb; CString strConnection = _T(""); strConnection = _T("Provider=MSDASQL;PersistSecurityInfo=False;" "Trusted_Connection=Yes;" "Data Source=Access Sql Server;catalog=sampledb"); pAdoDb.SetConnectionString(strConnection); ... ... 附录A Windows 常用消息大全

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧