2010-12-10 84 views
0

我有一些圖片的高度爲48像素(或更高),寬度爲48像素(或更高)。所以基本上我有48×48以上或48×48以上的圖像。我想從這些圖像製作一些縮略圖,這些圖像是中心裁剪和不縮放的,以便它們保持圖像質量。我不能使用:Android:圖片庫干擾ImageView的縮放設置

setScaleType(ScaleType.CENTER_CROP) 

因爲雖然它實現了裁剪,我期待它,不幸的是縮放圖像。我試圖用裁剪實現的目標是,它要麼截斷寬度大於48像素的圖像的左側&,要麼截斷高度大於48像素的圖像的最下面的&。我嘗試了ScaleType.CENTER在XML佈局,它似乎正是我想要的。我在一家畫廊使用這些圖像,所以在我的畫廊適配器我做的:

@Override 
    public View getView(int position, View convertView, ViewGroup parent) { 

     ImageView thumb = new ImageView(mContext); 
     thumb.setScaleType(ScaleType.CENTER); 
     thumb.setLayoutParams(new LayoutParams(THUMB_SIZE, THUMB_SIZE)); 

     if (mPhotos != null) { 
      String imageUrl = mPhotos.get(position).getPhotoHref(); 
      imageUrl = imageUrl.replaceAll(mPattern, mFormat); 
      ImageManager.instance().displayImage(imageUrl, mContext, thumb, DefaultThumbId); 
     } else { 
      thumb.setImageResource(DefaultThumbId); 
     } 

     return thumb; 
    } 

但由於某些原因,整個圖像顯示,但一路下來縮放。它在XML佈局中非常完美,但是當我在代碼中執行此操作並將其提供給Gallery時無法工作。是什麼賦予了?

回答

0

這實際上不是一個圖庫問題,我下載的圖像沒有正確縮放,所以它們的最大寬度/高度與視圖大小相同,而不是最小寬度/身高達到我想要的。我現在以適當的大小下載並且setScaleType(ScaleType.CENTER_CROP)正常工作。