我試圖獲得一個ImageView的顏色,我之前也應用了一個彩色濾鏡。我在4.2.2上運行Nexus 4Android - 從ImageView中獲取ColorFilter ColorFlter應用於Drawable
我正在像這樣改變ImageView的顏色。在應用濾鏡之前,圖像的實際顏色爲白色。
Drawable myIcon = getResources().getDrawable(R.drawable.bufferbuildercolor3);
myIcon.setColorFilter(new PorterDuffColorFilter(Color.rgb(Color.red(color),Color.green(color), Color.blue(color)),PorterDuff.Mode.MULTIPLY));
現在這實際上並沒有改變我想要的源圖像顏色。這始終是白色的。
我的問題是我想在丟失我用來設置它的數據後很好地引用顏色。我想長按ImageView並獲取它的顏色。
我在下面的問題中發現了一些代碼,但它看起來不起作用,因爲它總是返回白色(255,255,255),它是原始圖像的顏色,但不是過濾器。 How to Get Pixel Colour in Android?
ImageView imageView = ((ImageView)v);
Bitmap bitmap = ((BitmapDrawable)imageView.getDrawable()).getBitmap();
int pixel = bitmap.getPixel(x,y);
int redValue = Color.red(pixel);
int blueValue = Color.blue(pixel);
int greenValue = Color.green(pixel);
我試過的東西像下面的,但是當我打電話getColorFilter它只是崩潰。
ImageView image = (ImageView)findViewById(R.drawable.bufferbuildercolor3);
ColorFilter test = image.getColorFilter();
我不知道自己能做什麼,也許除了發現X /實際發車位置的Y,然後得到該點的屏幕背景顏色,而不是圖像。似乎應該有一個更簡單的方法來做到這一點,雖然?
我想出如何獲得的ImageView [ImageView的ImageView的=(ImageView的)gridview.getChildAt(X);],然後能夠使用該標記方法你建議。我無法從getColorFilter方法獲得任何有用的信息,但稍後我會再看一看。這是標記事物的額外步驟,但它起作用!謝謝!! – Ben987654