ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 小fisher

六一献礼,祝小朋友们节日快乐(填图游戏,节前最后一次更新)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2009-5-30 16:30 | 显示全部楼层
这是一张随意画的图,怎么得到线条围成的各个部分!!
aa.jpg

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-5-30 16:55 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 HHAAMM 于 2009-5-30 16:30 发表
这是一张随意画的图,怎么得到线条围成的各个部分!!

这个不是运行时判断的,那样太耗费时间了,而是提前制作一张类似于下面的24位bmp位图,通过图中不同颜色将各个区域确定下来,使用CreateRectRgn和CombineRgn将相同颜色的像素合并成一个大的区域,然后通过GetRegionData将各个区域转换为二进制数据合并后保存在程序目录下的.ptrn文件中,运行时使用ExtCreateRgn函数将二进制数据转换成区域,在鼠标移动时根据ptInRegion返回值就可以知道鼠标当前是否位于某个区域上方了
fill.gif

TA的精华主题

TA的得分主题

发表于 2009-5-30 17:02 | 显示全部楼层
谢谢小fisher版主。虽然还不会,但明白道理了!!

TA的精华主题

TA的得分主题

发表于 2009-5-30 20:31 | 显示全部楼层
俺9岁的儿子真的很喜欢这个!!

一点不足:
一张图画好后转入下一张,再回来后刚才画好的就又没了,小孩子们不会去记的保存的。
俺儿子画完后叫我来看看他画的如何,结果一张有颜色的也没有,我哈哈大笑,他气得不行!!

TA的精华主题

TA的得分主题

发表于 2009-5-30 22:48 | 显示全部楼层
原帖由 小fisher 于 2009-5-30 16:17 发表

谢谢清风版主,两个都是用Region实现的,前者使用ptInRegion判断指定部位是否可以填充,如果可以的话,就用FillRegion函数填充;后者是先将窗口的边框设为None之后再使用SetWindowRgn指定窗口的显示区域,据说这样 ...


填色部分可以试试ExtFloodFill函数,以前在学习做画图软件时实现过.

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-5-30 23:29 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 清风_ll 于 2009-5-30 22:48 发表


填色部分可以试试ExtFloodFill函数,以前在学习做画图软件时实现过.

这个函数我也考虑过,但是有几个原因使它落选:
有时要填充一个不连续区域,比如六一快乐的六字,使用ExtFlood必须填充四次,用Region方法既可以一次用一种颜色填完,也可以分几次填充几种不同的颜色
有时一个连续区域要分两种颜色填充,目前的图中不同颜色的区域都是用黑线隔开的,但以后可能有特殊情况
要允许用户填充黑色,如果使用ExtFlood填充的颜色和边框颜色相同的话,下次再填其他颜色时会连边框也给染上颜色
在边框上不允许填充颜色,另外有些图中有些区域不允许填充颜色,比如维尼熊在草地上踢足球的那幅图,用ExtFlood也不容易控制
从速度上考虑,填充一个已定义好边界的区域要比根据颜色临时确定一个区域速度更快,尽管ExtFlood已经是微软的专业人士做出的算法非常优化的函数

TA的精华主题

TA的得分主题

发表于 2009-6-17 01:48 | 显示全部楼层
未来师傅呀,你的东东听的我犹于在云端。VB做的东东能打包给我吗?

TA的精华主题

TA的得分主题

发表于 2009-9-7 18:43 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
强!强!强!

TA的精华主题

TA的得分主题

发表于 2012-4-8 18:15 | 显示全部楼层
小fisher 发表于 2009-5-29 20:06
呵呵,很简单的游戏,上手很容易,估计小朋友会喜欢

http://club.excelhome.net/thread-852121-1-1.html

您是否知道如何从Excel粘贴图表到PPT2007,实现完整工作薄?VBA

TA的精华主题

TA的得分主题

发表于 2012-4-10 18:55 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
谢谢分享, 能否做一个网页版 ?
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-12 16:23 , Processed in 0.039742 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表