0

在 android 中,我正在创建具有椭圆形和纯色的视图。现在我想动态获取和设置圆圈的颜色。但是 getBackground() 返回一个 GradientDrawable,它没有获取颜色的方法。有没有(简单的)方法可以做到这一点?

我更喜欢不使用画布,因为我正在处理很多都是视图的元素,这使它更容易。

xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <solid
        android:color="#ffff3333"
        />
</shape>
4

1 回答 1

0

这是你想要的吗?尝试这个 :

使用 getDrawingCache() 之类的方法获取位图并使用该位图,即 src 如下

Bitmap bitmap = src.copy(Bitmap.Config.ARGB_8888, true);
    for(int x = 0;x < bitmap.getWidth();x++)
        for(int y = 0;y < bitmap.getHeight();y++)
            int pixelColor = bitmap.getPixel(x, y);

pixelColor 值将由图像的每个像素的颜色组成。

于 2012-12-06T16:47:42.817 回答