2012-08-27 40 views
0

我在比原來的圖像尺寸較大的ImageView的顯示微小的PNG繪製資源小的PNG(可拉伸)。這是正常的,我想順便說一下:)顯示在較大的ImageView

當顯示ImageView的什麼,圖像是模糊的,因爲所使用的縮放方法我想的。

我想實現類似的效果: http://www.41post.com/4241/programming/android-disabling-anti-aliasing-for-pixel-art 在原始圖像沒有使用抗鋸齒放大的。

有一種方法與一定寬度和高度(浸液)和可拉伸的直接ImageView的實現這一點,而無需使用一箇中間位圖?

回答

2
<?xml version="1.0" encoding="utf-8"?> 
<bitmap 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:src="@drawable/image" 
    android:antialias="false" /> 

您需要創建一個可繪製,對XML複製上面的代碼中繪製的文件夾,然後在您的佈局,而不是用你的圖像作爲源使用XML的。這樣您可以禁用圖像的抗鋸齒。

編輯:代碼實現這一點。

BitmapDrawable draw = new BitmapDrawable(R.drawable.image); 
draw.setAntiAlias(false); 
imageView.setImageDrawable(draw); 
+0

直接在ImageView上使用'android:antialias =「false」'屬性是不可能的? – ibiza

+1

不,這個屬性來自BitmapDrawable。如果您從代碼設置圖像,則可以創建BitmapDrawable,設置別名並將其設置爲ImageView。但是你需要這樣做,ImageView沒有這個。 –

+0

好的,非常感謝你 – ibiza

1

你嘗試在佈局關閉抗鋸齒?

<ImageView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/icon" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:antialias="false" /> 
+0

噢,我的上帝......這可能是所有有它的哈哈。當我今晚回到家時想試試它 – ibiza

+0

你確定'android:antialias'嗎?它不是在[文檔](http://developer.android.com/reference/android/widget/ImageView.html) – zapl

+0

我也想知道...發現它後,一些研究:) http://開發人員。 android.com/reference/android/graphics/drawable/BitmapDrawable.html#attr_android:antialias – ibiza