社区
Java SE
帖子详情
求助!JAVA图像 对头发染色
cwhqt
2009-11-11 07:58:10
现在想做一个小游戏
想实现选择颜色来改变原来发型的颜色
就像UO(网络创世纪 不知道大家有没有玩过)里面一样,
现在好多游戏也都可以选择发型和发色,我认为他们都是一个图片,
然后通过程序来进行染色的。
...全文
273
17
打赏
收藏
求助!JAVA图像 对头发染色
现在想做一个小游戏 想实现选择颜色来改变原来发型的颜色 就像UO(网络创世纪 不知道大家有没有玩过)里面一样, 现在好多游戏也都可以选择发型和发色,我认为他们都是一个图片, 然后通过程序来进行染色的。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
smallbear923
2009-11-13
打赏
举报
回复
好复杂,帮顶~
安小寰
2009-11-13
打赏
举报
回复
[Quote=引用 13 楼 cwhqt 的回复:]
不用说监听啊 这块我明白
我想知道的是 图片是PNG格式的 程序读进来是BUUFERIMAGE
然后我就想通过一些算法将图片染色(比如染成黑色或红色)用graphics画上去
我想知道的就是这个算法 大家不要再扯监听了。。。。
[/Quote]
这个算法需要用到的是区域算法,挺复杂的。
1.首先,你要判定发型的区域,计算发型区域边缘各个点。(这点网上搜区域算法,好像涉及矩阵)
2.根据上述获得的复杂多边形区域的矩阵表示进行graphics的填充。
大概就是这么个路子,具体算法有很长的文章介绍的,这不说了。
安小寰
2009-11-13
打赏
举报
回复
楼主我觉得你要这样的处理的话还是直接IMG贴好,要是用ImageObserve实现“染色”效果的话肯定还得在imageUpdate获取头发的区域轮廓然后根据轮廓计算复杂图形进行色彩填充,这样用到graphics还有区域算法。
这里我还是推荐楼主用一个二维数组或者HashMap和List存放发型和发色,比方说二维数组横向是同一发色不同发型,纵向是同一发型不同发色。或者HashMap中以发型为key,以一个ArrayList存放发色。变哪个就掉那个方便多了。
cwhqt
2009-11-13
打赏
举报
回复
不用说监听啊 这块我明白
我想知道的是 图片是PNG格式的 程序读进来是BUUFERIMAGE
然后我就想通过一些算法将图片染色(比如染成黑色或红色)用graphics画上去
我想知道的就是这个算法 大家不要再扯监听了。。。。
nh1011
2009-11-13
打赏
举报
回复
监听是必须得,通过事件触发更改图片或setcolor改变。看你原来的图片是IMG还是graphics画出来的。
hui94781674
2009-11-13
打赏
举报
回复
闭合的染色应该不难···从某一个色素点出发一真向外染色,碰到闭合区域停止染色
cwhqt
2009-11-12
打赏
举报
回复
谢谢楼上的 但没解决我的问题
我想要的就是怎么通过ImageObserve来实现对灰色的发型图片颜色的改变
跟监听什么没关系
有熟悉DELPHI的没 有人用DELPHI写出来了 但我不会DELPHI
程序:http://uo.stratics.com/heptazane/characterviewer/uocview.zip
源码:http://uo.stratics.com/heptazane/characterviewer/uoccode.zip
程序需要UO的客户端
客户端:http://zjuo.chinauo.com/Ultima%20Online.rar
安小寰
2009-11-12
打赏
举报
回复
这样的实现不是通过“染色”来实现的,一般的代码实现都是准备了很多发色发型的Image图片,然后通过你的选择(鼠标点击监听/按钮监听)来查找对应的Image然后改变主窗体中人物的发型发色。
如果真想实现“染色”的功能的话楼主可以参考下Graphics类,里面提供了图形重绘的方法,你提出的要求只要监听你所选择的颜色然后使用重绘线程改变重绘线程中Color的颜色就可以了.
编程黑板报
2009-11-12
打赏
举报
回复
不知道
cwhqt
2009-11-12
打赏
举报
回复
楼上的大哥 我不是这个意思啊
我是要对发型染色啊 不是换发型。。。。
dajiadebeibei9
2009-11-12
打赏
举报
回复
那就触发鼠标点击事件 点击的时候将准备好的发型图片覆盖当前发型图片 将发型图片初始化成一个集合数组,点一次就换一个图片 这样就方便了
scottxp
2009-11-12
打赏
举报
回复
封闭图形的染色是很基本的算法
随便找一本图形学的书都有
cwhqt
2009-11-12
打赏
举报
回复
楼上什么意思?我就是想对一个图片先经过染色画上去啊
scottxp
2009-11-12
打赏
举报
回复
“染色”是实时的,你这个就是贴图而已
dm520
2009-11-12
打赏
举报
回复
不会delphi
cwhqt
2009-11-11
打赏
举报
回复
没人吗?自己顶
MediaPipe
头发
分割技术:精细化毛发渲染与特效实现
在直播、短视频和虚拟试妆等场景中,用户常常需要对人物
头发
进行实时
染色
、风格变换或特效叠加。传统
图像
编辑工具需要手动勾勒
头发
区域,耗时且精度有限,而普通AI分割技术又难以处理发丝边缘的细微细节。MediaPipe
头发
分割技术(Hair Segmentation)通过轻量级深度学习模型与GPU加速计算,实现了移动端实时(30fps+)的发丝级分割效果,为媒体处理应用提供了高效解决方案。 ## 技术原...
Java
上色,在
java
中着色图片
I would like, for a
java
project, to change the color of a hair modelisation (to change hair color) with shadows and reflects...In fact, I wondered if there's a class which can change the color of a p...
遗传算法(Genetic Algorithm)的学习及简单实现(
java
)
遗传算法(Genetic Algorithm, GA)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,不需要确定的规则就能自动获取和指导优化的搜索空间,自适应地调整搜索方向。遗传算法以一种群体中的所有个体为对象,并利用随机化技术指导对一个被编码的参数空间进行高效搜索。
简述机器学习和深度学习的区别
博主目前不是相关从事人员,本文的书写时,博主学习机器学习与深度学习已有2月有余,如有知识性错误还请指正。如果本文对你有所帮助,还请三连支持一下博主!
8月产品升级,为新基建发展注入新动能
8月,百度智能云举办了以“新基建 新计算 新动能”为主题的智能计算峰会。大会上重磅发布了自主研发的新一代云基础架构百度“太行”,以及六大新产品并升级四大应用平台,实现智能计算能力全面升级...
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章