我在我的Android应用程序中使用了Picasso,它有很多图像。它的工作和看起来很好。我试图让UI更简单和用户友好。在实际图像加载之前,我有我的图像视图的占位符。但它的白色。我希望占位符图像取决于图像的主要颜色,如pinterest。
主要图像加载前的Pinterest占位符图像。截图截图:
在图像加载后,它会根据占位符显示的主要背景颜色显示正确的图像:
是否有可能在Square提供的Picasso图书馆中实现,或者是如何实现的。
请帮忙。
答案 0 :(得分:1)
有点迟了但对于想要完成类似事情的其他读者,我会把它留在这里。我不知道Pinterest是如何做到/做的,可能是他们自己开发的。但谷歌用调色板'更新了v7支持库。这是一个新的API,允许您在提供图像位图时从图像中提取突出的颜色。
编辑:我刚刚意识到这可能对占位符没有帮助,因为你需要一个图像来实际获取颜色!所以我最好的猜测是Pinterest从服务器中进行颜色提取,并包含发送给客户端的(可能)JSON响应中的颜色。
我自己并没有太多地使用它,但它从我看过/读过的东西中运作得很好。您可以在以下两个地方了解更多信息:
答案 1 :(得分:0)
您只能通过在将图像保存在数据库中的同时保存图像中的突出颜色然后检索它以供以后使用来实现。
https://pypi.org/project/extcolors/ 是一个非常易于使用的 Python 库,可以为您提取给定图像的颜色。
或者你可以https://github.com/woltapp/blurhash一个图书馆来给你这个。
无论哪种方式,您都必须首先将 BlurHash 或颜色保存为数据库中的元数据,然后当用户请求数据时,您将发送其中之一并显示它们,直到数据完全下载.