2017-08-11 50 views
1

我想實現所謂GPUImage Located here.滑翔和GPUImageView問題

一個Android圖像濾波器庫我試圖使用它像下面

public static GPUImageView img_bg; 
 
img_bg = (GPUImageView) findViewById(R.id.img_bg); 
 
categoryAdapter1.setOnClickLIstner(new OnClickLIstner() { 
 
         @Override 
 
         public void onClick(View v, Image image, int pos) { 
 
          Glide.with(NameArt.this) 
 
            .load(image.getDrawableId()) 
 
            .centerCrop() 
 
            .dontAnimate() 
 
            .into(img_bg); 
 
          img_bg.setVisibility(View.VISIBLE); 
 
         } 
 
        });

但我得到錯誤如下所示

cannot resolve method 'into' (jp.co.cyberagent.android.gpuimage.GPUImageView) 

我無法解決它,因爲我還在學習android和java。讓我知道這裏的專家是否可以幫助我解決問題。謝謝

+0

嘗試使用這個 https://stackoverflow.com/questi ons/33971626/set-background-image-to-relative-layout-using-glide-in-android –

+0

問題是GupImageView不是一個簡單的視圖,它是一個帶有GlSurfaceView的framelayout的子節點來加載位圖 –

回答

0

確保您使用正確版本的Glide,您的GPUImageView可以處理。最近的v4帶來了API向後兼容的變化,因爲你使用的這個庫看起來有點生疏,並且沒有正確設置依賴關係,所以你得到了衝突。強化Glide的v3,或刪除日期庫。

0

試試這個在您的GPUImage加載圖像

new DownloadImage(img_bg).execute(url); 

創建一個異步任務

public class DownloadImage extends AsyncTask<String, Void, Bitmap> { 
GPUImageView bmImage; 

public DownloadImage(GPUImageView bmImage) { 
    this.bmImage = (GPUImageView ) bmImage; 
} 

protected Bitmap doInBackground(String... urls) { 
    String urldisplay = urls[0]; 
    Bitmap mIcon11 = null; 
    try { 
     InputStream in = new java.net.URL(urldisplay).openStream(); 
     mIcon11 = BitmapFactory.decodeStream(in); 
    } catch (Exception e) { 
     Log.d("Error", e.getStackTrace().toString()); 

    } 
    return mIcon11; 
} 

protected void onPostExecute(Bitmap result) { 
    bmImage.setImageBitmap(result); 
} 
} 

我希望它會在你的情況下工作