我有一张图片。我需要以编程方式知道该图像的颜色。有可能吗?
实际上,当我旋转某个物体时,我需要知道多个图像来了解图像的颜色。
答案 0 :(得分:2)
试试这个,
int ColorCode = imageView.getDrawingCache().getPixel(x, y);
x和y是x和y坐标
希望这能帮到你
答案 1 :(得分:1)
android {
compileSdkVersion 24
...
}
dependencies {
...
compile 'com.android.support:palette-v7:24.2.1'
}

通过Palette对象,您可以访问图像中的主要颜色,以及覆盖文本的相应颜色。使用调色板设计应用程序的样式,并根据给定的源图像动态更改应用程序的颜色方案。
// Generate palette synchronously and return it
public Palette createPaletteSync(Bitmap bitmap) {
Palette p = Palette.from(bitmap).generate();
return p;
}
// Generate palette asynchronously and use it on a different
// thread using onGenerated()
public void createPaletteAsync(Bitmap bitmap) {
Palette.from(bitmap).generate(new PaletteAsyncListener() {
public void onGenerated(Palette p) {
// Use generated instance
Palette.Swatch vibrantSwatch = checkVibrantSwatch(p);
// Set the toolbar background and text colors
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setBackgroundColor(vibrantSwatch.getRgb());
toolbar.setTitleTextColor(vibrantSwatch.getTitleTextColor());
}
});
}
// Return a palette's vibrant swatch after checking that it exists
private Palette.Swatch checkVibrantSwatch(Palette p) {
Palette.Swatch vibrant = p.getVibrantSwatch();
if (vibrant != null) {
return vibrant;
}
// Throw error
}