我有这个保证只包含一种颜色的BufferedImage对象。我使用它来显示示例图像以显示大小,并在绘画工具中塑造一个笔刷的硬度&。我已经尝试了几种不同的模糊实现来获得硬度...最新的,这似乎工作得很好,这是由罗曼盖伊编写的Stack Filter。Alpha通道模糊
我有2个问题。
上比4?:无模糊过滤器我试过的1路快似乎相当足够快的速度......我意识到这个问题之前已经被要求(和我不是很准备尝试从C中拉出FFTW,但是我想知道是否有一种方法仅使用alpha通道位来执行模糊处理?图像只包含一种颜色,因此无论如何其他位都不会改变,我认为这会将模糊的计算数量减少到整个模糊操作的约25%,我认为这可能会导致性能明显提高?我一直无法找到任何关于正在通过网络搜索尝试的信息。
消除暗晕:每次我尝试不同的模糊算法,我最终不得不重写它摆脱周围由来自无色像素中的“黑”模糊这里什么事都没有形状的深色阴影还没有画过。我已经阅读了关于这个,我正在使用(据我所知)INT_ARGB_PRE图像类型,我记得这是读取这个问题的解决方案。我在该解决方案中错过了些什么?我是否需要以某种方式预先格式化图像,以便将所有空像素解释为白色而不是黑色?
谢谢!
谢谢G.是的,约翰的网站是我读到关于使用int_argb_pre的地方 - 至少这是我从阅读他的简短评论中得到的结果......但他的解释非常简洁,所以我很确定我是错过了一步。 –
也许代码可以澄清一点。我一直在尝试卷积,但还不足以为你准备好直接的答案。我假设,如果通过alpha预乘来消除光环,就会失去模糊alpha通道的可能性。尽管我不确定这是否会起作用。模糊需要多快?也许你可以预渲染一些东西并缓存它? –
嗯,我不知道它的速度有多快......我在开发这个应用程序的时候很早,我知道当我把硬度降低的时候刷子变得非常粘稠,所以我现在在做什么工作效果不佳......它需要对用户比较流畅......我开始认为我可能会推迟模糊,直到中风完成。我相信用户会喜欢它在绘图时发生,但是由于他们已经有了撤销历史记录,所以事后模糊应该没问题。我有一种关于加速模糊的方法,但还没有尝试过。谢谢,G. –