android - android中图像的边缘颜色
问题描述
有没有办法获取图像边缘的颜色并将它们作为渐变扩展到屏幕尺寸?
好吧,我的意思是当你有一个方形图像并且你想让它与屏幕的分辨率相匹配时。所以我们需要用渐变来扩展图像的高度。
我尝试使用调色板库并获得充满活力和柔和的颜色来制作渐变......它看起来并不好看。我们如何获得图像边缘的颜色并从中产生渐变。
private void getColors(Drawable drawable) {
Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap();
Palette.from(bitmap)
.generate(palette -> {
assert palette != null;
int vibrantColor = palette.getVibrantColor(0x000000);
int lightVibrantColor = palette.getLightVibrantColor(0x000000);
int darkVibrantColor = palette.getDarkVibrantColor(0x000000);
int mutedColor = palette.getMutedColor(0x000000);
int darkMutedColor = palette.getDarkMutedColor(0x000000);
int lightMutedColor = palette.getLightMutedColor(0x000000);
});
}
解决方案
推荐阅读
- c++ - 如何摆脱 Gtkmm 中的模糊像素?
- android - 如何提示用户更新应用程序,当用户点击更新时,它应该在后台更新
- java - 哪个@GenricGenrator 可以用来代替从1 开始的序列?
- php - 组合和添加数组
- php - 如何将用户元素添加到用户集合
- typo3 - 具有 FluidTYPO3 提供程序扩展的多个页面模板位置
- azure-sql-database - 是否有基于 UI 的方式将 csv 数据加载到 Azure SQL 数据库?
- python - 为什么我不能更改当前工作目录?
- javascript - mediaElement.play() 方法返回一个被拒绝的承诺
- lua - LuaJIT FFI 将 char** 传递给 C 函数