有人能提供一些启发式方法来获取网页的主要颜色吗?

3
我希望能够编写服务器端软件,以在Google App Engine上运行(因此必须是纯Java),该软件可以识别网页中使用的主要颜色,特别是前景(文本)、标题和背景颜色。
问题在于所使用的颜色可能是在CSS、HTML或可能在链接到CSS或HTML的图像文件中指定的。
一种可能的方法是将网页呈现为图像,然后执行类似于这样的操作,但是那么我需要一个可以合理地将网页呈现为图像的纯Java库。
另一种可能性是对HTML、CSS和任何链接的图像进行分析,以提取此信息。
1个回答

1

既然你必须对图片进行一些图像处理才能获取颜色,我建议尝试渲染页面并确定主要颜色。

至于渲染,似乎至少Java上有Webkit可用,也许它的API有你需要的东西?


将页面渲染为图像得到+1分。如果您选择解析HTML + CSS + Images,那么到最后,您将成功地重新发明了一个Web浏览器。您可能需要考虑使用外部服务通过HTTP获取屏幕截图 - Chris Farmiloe
Webkit是用C语言编写的,因此即使它有Java接口,它也不是纯Java。 - Nick Johnson
真的。可能还有其他选项。除非“纯Java”部分非常重要,否则我可能会尝试使用尽可能主流的渲染器。 - Hannes Ovrén
纯Java是必须的,因为它必须在Google App Engine上运行 :-/ 使用外部服务是一种可能性... - sanity

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接