2017-12-16 21 views
0

私はプログラムで8x8ピクセルビットマップを生成し、setImageBitmapImageViewに設定しています。イメージビューのサイズは(xmlレイアウトで)100x100 dpです。Android ImageViewビットマップアップスケールモード

レンダリングすると、画像が非常にぼやけて見えます。画像を伸ばしたりぼかさないように高級モードを変更する方法はありますか?私はscaleType="centerInside"とフルスクリーンImageViewに様々なサイズの画像を表示するために必要なXMLレイアウト

<ImageView 
     android:id="@+id/icon" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:layout_marginBottom="8dp" 
     android:layout_marginEnd="8dp" 
     android:layout_marginStart="8dp" 
     android:layout_marginTop="8dp" 
     android:textSize="20sp" 
     app:layout_constraintBottom_toBottomOf="parent" 
     app:layout_constraintEnd_toEndOf="parent" 
     app:layout_constraintStart_toStartOf="parent" 
     app:layout_constraintTop_toTopOf="parent" /> 
+0

画像ビュー –

+0

8x8を100x100で表示しますか?ビットマップをタイルしたいですか?または、イメージビューに単一の8x8ビットマップを表示したいだけですか? – Henry

+0

単一のビットマップ...私はいくつかの大きな塊状のピクセルを見てwan't – Warrick

答えて

0

からつむ

EDIT、。画像のサイズはロードの瞬間には分かっていませんが、すべてがmdpiの密度であり、サーバはそれらをオンザフライでサイズ変更することはできません。読み込み中は、それぞれの画像のサイズが画面の密度に応じて異なるように、高画質化する必要があります。 32x32イメージはxhdpiでは64x64、xxhdpiでは96x96にスケーリングする必要があります。次のコードを使用します。

// R.drawable.test is located in drawable-nodpi 
final Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.test); 
bitmap.setDensity(160); 
imageView.setImageBitmap(bitmap);