0

私のサーバから画像をダウンロードして画像ビューに表示したい。 私の主な関心事は、さまざまなデバイス(画面のサイズ、解像度、密度が異なる)で画質が損なわれないようにすることです。画像表示で画像の品質を最適化するための画像サイズを最適化する

画質を保ちながら画像のサイズに合わせる必要があるかどうかを正確に把握したい

hdpi、xhdpi、xxhdpi、xxxhdpiデバイスの品質を維持するために、どのイメージ解像度をダウンロードする必要がありますか?100dp * 100dpのイメージビューがありますか?

私はすでにデバイス

DisplayMetrics displaymetrics = new DisplayMetrics(); 
    WindowManager windowManager = (WindowManager) m_context.getSystemService(Context.WINDOW_SERVICE); 
    windowManager.getDefaultDisplay().getMetrics(displaymetrics); 
    int height = displaymetrics.heightPixels; 
    int wwidth = displaymetrics.widthPixels; 

    Log.d(Utils.TAG,"displaymetrics : Hieght: "+ height + " width: " + wwidth); 


    switch (m_context.getResources().getDisplayMetrics().densityDpi) { 
     case DisplayMetrics.DENSITY_LOW: 
      Log.d(Utils.TAG,"Low desity"); 
      break; 
     case DisplayMetrics.DENSITY_MEDIUM: 
      Log.d(Utils.TAG,"medium desity"); 
      break; 
     case DisplayMetrics.DENSITY_HIGH: 
      Log.d(Utils.TAG,"high desity"); 
      break; 
     case DisplayMetrics.DENSITY_XHIGH: 
      Log.d(Utils.TAG,"xhigh desity"); 
      break; 
     case DisplayMetrics.DENSITY_XXHIGH: 
      Log.d(Utils.TAG,"xxhigh desity"); 
      break; 
     case DisplayMetrics.DENSITY_XXXHIGH: 
      Log.d(Utils.TAG,"xxxhigh desity"); 
      break; 
    } 
+0

を参照してください。しかし、私はInstagramが正方形の画像のために1080x1080を使用することを読んだと思う。 私はこれについて専門家ではない。しかし、私は、画像に焦点を当てた大きなアプリがその解像度を使用していると思います。私は十分なはずです。 –

答えて

1

低密度(LDPI)の解像度とdesisty取得する方法を知っている:75x75

中密度(MDPI):100×100、ベースライン

高密度(hdpi)150x150

超高密度(xhdpi)200x200

エクストラX2高密度(xxhdpi)300×300

エクストラX3高密度(xxxhdpi)400x400の

私はわからないRange of screens supported | Android Developers

+0

ありがとう!私のサーバー上のイメージが300 * 300として定義されている場合、一般的にイメージについての質問は、私が調べるべきイメージの他の側面がありますか?アンドロイドの密度に似たsomethign? –

+0

本当にありません。あなたが考えているかもしれない唯一の事は、JPEGは品質係数を持っているということです。品質係数が低いほど圧縮率が高くなり、ファイルサイズは小さくなりますが、画像の精度が低下します。一方、PNGはロスレスです。 –

関連する問題