Android调色板:为什么不使用这个特定的图像?

Android调色板:为什么不使用这个特定的图像?,第1张

概述我目前正在使用支持库中的Palette API( https://developer.android.com/tools/support-library/features.html#v7-palette) 下面的代码适用于数百张图片,完全没问题.我根据调色板结果设置文本和背景颜色.结果非常好看,非常好看(如果你想在你的应用程序中重复使用它,请不要犹豫!). 不幸的是,在数百张图片中,只有一张不起作 我目前正在使用支持库中的Palette API( https://developer.android.com/tools/support-library/features.html#v7-palette)

下面的代码适用于数百张图片,完全没问题.我根据调色板结果设置文本和背景颜色.结果非常好看,非常好看(如果你想在你的应用程序中重复使用它,请不要犹豫!).

不幸的是,在数百张图片中,只有一张不起作用,并给出了奇怪的结果.
这是一个=> http://www.cineswellington.com/images/film/140929075044.jpg

由于调色板没有文档或调试模式,我真的很想知道会发生什么,以及是否有办法了解原始图片中是否存在缺陷或其他什么.

Picasso.with(getActivity()).load("http://www.cineswellington.com/images/film/140929075044.jpg").into(t);private Target t = new Target() {    @OverrIDe    public voID onBitmapLoaded(Bitmap bitmap,Picasso.LoadedFrom from) {        Palette.generateAsync(bitmap,new Palette.PaletteAsyncListener() {            public voID onGenerated(Palette palette) {                ((ImageVIEw) v.findVIEwByID(R.ID.iv)).setimageDrawable(new BitmapDrawable(bitmap));                //At this point,the ImageVIEw is correctly filled,so the bitmap object has no issue.                int textcolor = palette.getlightmutedcolor(androID.R.color.darker_gray);                int bgcolor = palette.getDarkMutedcolor(androID.R.color.white);                Log.d("CVE","textcolorInt: "+ textcolor);                Log.d("CVE","bgcolorInt: "+bgcolor);                Log.d("CVE","textcolorHexa: "+String.format("#%06X",0xFFFFFF & textcolor));                Log.d("CVE","bgcolorHexa: "+String.format("#%06X",0xFFFFFF & bgcolor));            }        });    }};

这是输出:

如果有人可以帮我重现这个错误,或者告诉我它只发生在我这边,那就太棒了

textcolorInt: 17170432bgcolorInt: 17170443textcolorHexa: #
Picasso.with(getActivity()).load("http://www.cineswellington.com/images/film/140929075044.jpg").into(t);private Target t = new Target() {    @OverrIDe    public voID onBitmapLoaded(Bitmap bitmap,0xFFFFFF & bgcolor));            }        });    }};@H_419_18@

0
bgcolorHexa: #

Picasso.with(getActivity()).load("http://www.cineswellington.com/images/film/140929075044.jpg").into(t);private Target t = new Target() {    @OverrIDe    public voID onBitmapLoaded(Bitmap bitmap,0xFFFFFF & bgcolor));            }        });    }};@H_419_18@
Picasso.with(getActivity()).load("http://www.cineswellington.com/images/film/140929075044.jpg").into(t);private Target t = new Target() { @OverrIDe public voID onBitmapLoaded(Bitmap bitmap,0xFFFFFF & bgcolor)); } }); }};Picasso.with(getActivity()).load("http://www.cineswellington.com/images/film/140929075044.jpg").into(t);private Target t = new Target() { @OverrIDe public voID onBitmapLoaded(Bitmap bitmap,0xFFFFFF & bgcolor)); } }); }};B
解决方法 图像似乎仅由鲜艳的颜色组成,因此很难创建适合它的柔和调色板.算法没有这样做也就不足为奇了.

如果静音暗/光太相似,请尝试使用getVibrantcolor()函数.

总结

以上是内存溢出为你收集整理的Android调色板:为什么不使用这个特定的图像?全部内容,希望文章能够帮你解决Android调色板:为什么不使用这个特定的图像?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1138280.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)