2014-02-08 230 views
0

我正在存儲和顯示在我的視圖中使用相機應用拍攝的圖像。這些圖像以不同視圖顯示在不同大小的圖像視圖中將圖像縮放到不同的圖像視圖尺寸

例如,在一個頁面中,我具有1/6屏幕大小顯示,在另一個縮略圖顯示中,在另一個全屏幕大小顯示中。我應該如何處理縮放?我開始使用位圖,使用bp.compress(Bitmap.CompressFormat.JPEG,100,字節)進行壓縮;並在圖像視圖中進行設置。這對於全屏顯示來說並不好,它只適合縮略圖顯示。

隨着這個我現在在一些觀點顯示從繪製文件夾中的一些圖片,他們又看在不同的屏幕非常不同(如模擬器和三星Galaxy手機)

我已經看到各個崗位上的這些問題比如使用擴展imageview etcetc的自定義類。最好的路線是什麼?感謝您的進一步建議

回答

2

這取決於你想要的結果是什麼。對於較小的縮略圖視圖,您可以嘗試應用中心裁剪,對於您正在查找的較大視圖,您可能希望圖像的大小與屏幕允許的一樣大,同時保留縱橫比。

爲了讓生活更簡單,爲什麼不使用Square的Picasso圖書館?它處理很多你問的問題,並且是JAR形式的免費庫。其中一個主要優點是簡單的語法,它從文件系統和可繪製文件夾中獲取圖像。

它包括一些轉換,你也可以創建一些你自己的,如果Square不能提供你需要的轉換的話,這會增加一些附加的多功能性。

最後,它處理圖像的緩存和我能記得的內容,它使內存中的縮放緩存圖像與佔用更多的大圖像保持一致。

編碼示例

Picasso.with(context).load(R.drawable.landing_screen).into(imageView1); 
Picasso.with(context).load(new File(...)).into(imageView2); 

和縮略圖,這樣的事情可能是使用的

Picasso.with(context) 
    .load(url) 
    .resize(50, 50) 
    .centerCrop() 
    .into(imageView) 

http://square.github.io/picasso/

+0

感謝我試圖出來 – user3013499