v7.palette从图像中提取颜色。现在我的问题是我只限于一个样本,我的问题在于如何获得所有样本,允许调色板从图像中提取所有颜色并使用该颜色。请帮助N.B:一切都很好,Palette很好,但有一小部分颜色
public void updateColor(){
final Bitmap bitmap = mImageFetcher.getArtwork(Utils.getAlbumName(),
Utils.getCurrentAlbumId(), Utils.getArtistName());
Palette palette = Palette.generate(bitmap);
// Getting the different types of colors from the Image
Palette.Swatch vibrantSwatch = palette.getVibrantSwatch();
// Adding the colors to the TextViews.
if(vibrantSwatch!=null) {
// Changing the background color of the toolbar to Vibrant Light Swatch
toolbar.setBackgroundDrawable(new ColorDrawable(vibrantSwatch.getRgb()));
if (Build.VERSION.SDK_INT >= 21) { // setStatusBarColor only works above API 21!
getWindow().setStatusBarColor(vibrantSwatch.getRgb());
}
}
}
调色板的目的是提取主要颜色,而不是为您提供颜色分布。你将不得不在其他地方寻找这样的功能。
检查颜色提取器(https://github.com/RacZo/ColorExtractor),这是一个我作为概念验证而构建的小应用程序。它展示了如何使用新的Palette和Palette Builder类从图像中获取颜色和样例。
Palette有一个方法getSwatches()
,它将返回一个Swatches列表
(当问这个问题时,这种方法可能不存在)