2012-08-27 2 views
0

원본 이미지보다 큰 치수의 ImageView에 작은 png 드로어 블 리소스를 표시하고 있습니다. 이것은 정상이며 원하는 부분은 무엇입니까 :)큰 이미지보기에 작은 png (드로어 블) 표시

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