2017-06-03 87 views
2

我想我現在作出反應原生應用,Android上的顯示PNG圖標,使用下面的代碼陣營本地PNG圖像像素化,而不是HD

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

和風格爲它

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

這是它如何被呈現

enter image description here

的大月亮小號eems像素化,不顯示在高清。實際的PNG圖像是96x96,其樣式中確定的確切寬度和高度。我有在android/app/src/main/res /中的所有png圖像(drawable,drawable-xhdpi,mipmap-hdpi,mipmap-mdpi,mipamp-xhdpi,mipmap-xxhdpi),我遇到同樣的問題不管我選擇了哪張96x96圖片。

底部的小圖標似乎以高清形式顯示,我猜是因爲尺寸要小得多。

所以我的問題是,爲什麼當爲它定義的witdh和高度與實際的png圖像相同時,大圖像像素化?

+0

實際的PNG模糊嗎? – Li357

回答

2

實際png圖片爲96x96像素,

這是96×96像素

在樣式中爲其定義的確切寬度和高度。

這就是96 x 96 尺寸單位。這些單位可能比實際的物理屏幕像素大(在這種情況下是4倍),並取決於屏幕的像素密度。有關更多信息,請參閱this question的答案。

如果您在該圖像中測量月球的實際大小,則大約爲375 x 375像素。它被放大了4倍,看起來很模糊。你只需要使用更大的圖像。

+0

好的,這對我很有意義。我嘗試了不同的PNG圖像,看起來像我剛纔所說的那樣需要更大的圖像。將標記爲正確答案。乾杯 – Vali

1

我跟着鍺的方法是:

看來你正在使用的大圖片,並試圖使用它作爲一個小圖像,什麼應該做的是:

在影像風格對象添加resizeMode: 'contain' and flex: 1

的resizeMode:「包含」有助於縮放圖像均勻(保持 圖像的縱橫比),使得兩個尺寸(寬度和高度)的圖像的 會比對應尺寸 等於或小於的視圖(減去填充)。

乾杯:)