2017-06-03 10 views
2

が、私はそれは、ネイティブのpng画像がピクセル化されない

をするために、以下のコード

<Image 
    style={styles.wtrhIcon} 
    source={{uri: "clearmoon"}}/> 

とスタイルを使用して、私は今のAndroid上で、ネイティブアプリを反応させるのにPNGアイコンを表示しようとしているHDリアクト

wtrhIcon: { 
width: 96, 
height: 96, 
} 

これは、それは大きな月の

enter image description here

をレンダリングされています方法ですピクセル化され、hdには表示されません。実際のPNG画像は96x96で、そのスタイルで定義されている正確な幅と高さです。

私はアンドロイド/アプリ/ src/main/res /(drawable、drawable-xhdpi、mipmap-hdpi、mipmap-mdpi、mipamp-xhdpi、mipmap-xxhdpi)のすべてのpngイメージを持っています。どの96x96画像を選んでも問題ありません。

下の小さなアイコンはhd形式で表示されているようですが、サイズがかなり小さいので推測しています。

だから私の質問は、大きな画像は、witdhとそれに対して定義された高さが実際のPNG画像と同じである場合にピクセル化されるのですか?

+0

実際のPNGはぼやけていますか? – Li357

答えて

2

実際のPNG画像は、96×96ピクセルですに96x96、

あります。

正確な幅と高さがスタイルのスタイルで定義されています。

これは96x96 サイズ単位です。これらの単位は実際の物理的スクリーンピクセル(この場合は4倍)よりもずっと大きくなり、画面のピクセル密度に依存します。詳細については、this questionへの回答を参照してください。

イメージ内の月の実際のサイズを測定すると、およそ375 x 375ピクセルです。それは4倍にスケールアップされているので、ぼやけて見えます。あなたは大きな画像を使うだけです。

+0

さて、それは私には意味があります。私は別のPNG画像を試して、あなたが言ったように大きなものが必要なように見えます。正解とマークします。乾杯 – Vali

1

私は従う密接な方法がある:

あなたが大規模なイメージを使用して、小さな画像としてそれを使用しようとしているようで、何をすべきである。

は、画像スタイルオブジェクトでresizeMode: 'contain' and flex: 1を追加。 ResizeModeです

「含む」が両方の次元(幅と高さ)画像の が対応する寸法 以下となるように( 画像の縦横比を維持する)画像均一スケールに役立ちビューの(マイナスパディング)。

乾杯:)

関連する問題