2011-10-12 3 views
0

세부 화면의 전체 이미지와 함께 ListView에 작은 축소판 이미지를 표시해야합니다.선명도를 잃지 않고 확대 된 이미지를 표시하려면 어떻게해야합니까?

두 개의 레이아웃에서 동일한 이미지를 사용하고 있습니다.

<ImageView android:id="@+id/update_details_img" 
    android:layout_width="289dip" android:layout_height="206dip" 
    android:src="@drawable/q_silhouette" android:paddingTop="10dp" 
    android:scaleType="fitXY" android:gravity="center">          
</ImageView> 

원본 이미지의 크기가 약 300x360의이다 :

<ImageView android:layout_height="50dip"        
    android:layout_width="50dip" 
    android:id="@+id/item_view_img" 
    android:scaleType="fitXY"> 
</ImageView> 

가 여기 내 상세보기의 <ImageView>는 : 여기 내 목록 항목 <ImageView>입니다. 내 이미지 디스플레이도 좋아 보이지 않습니다. 선명도를 유지하면서 이미지를 어떻게 표시 할 수 있습니까?

답변

2

이 질문은 2D 그래픽 질문만큼 안드로이드 질문이 아닙니다. 현재 당신이 가진 정확한 문제를 해결하려고하는 많은 그래픽 전문가들이 있습니다.

원본에서 충실도를 유지하면서 이미지 크기를 변경할 수 없습니다. 이 문제는 충실도의 상실로 인해 선명도가 손실되는지 여부에 달려 있습니다. 대부분의 경우, 충실도가 떨어지면 답은 명확 해집니다. 그러나 이것을 완화 할 수있는 방법이 많이 있습니다.

일반적으로 어림짐작으로 이미지를 인공물이없는 원래 크기의 약 1/2로 축소 할 수 있습니다. 이 작업이 완료되면 이미지의 복잡성 (색상 수)에 따라 한 번 더 축소 할 수 있습니다.

또는 이미지를 원본 크기로 약 1.75 크기로 업 사이즈 할 수 있습니다. 다시 업 사이즈로 시스템을 속일 수는 없습니다.

그러나 가로 세로 비율을 변경하면 모든 배팅이 해제됩니다. 다른 방법으로 이미지가 왜곡되기 때문입니다. Android에서는 scaleType 속성을 centerInside 값으로 설정하여 XML의 종횡비를 변경하지 않아도됩니다. 이것은 상당히 도움이 될 것이며 범위 안에서 이미지를 유지할 것입니다. 특히 ImageView과 동일한 종횡비로 설정하지 않는 한 미리보기 이미지 ImageView에 대해이 작업을 수행해야합니다.

+0

안녕하세요 @Fuzzical Logic, 내 ''에'centerInside'를 추가했습니다. 이미지가 언급 된 너비 (289dip), 높이 (206dip)로 표시되지 않습니다 .. 매우 작게 표시됩니다 ... <이미지보기 android : id = "@ + id/update_details_img" \t android : layout_width = "289dip"로이드 : layout_height = "206dip" \t 로이드 : SRC = "@ 묘화/q_silhouette"로이드 : paddingTop = "10dp" \t 로이드 : scaleType = "centerInside"로이드 중력 = "센터"> \t \t \t \t \t \t \t \t \t \t

+0

그러나 원본은 300 x 360? 나타나는 실제 크기는 얼마입니까? 그걸 구할 수 있니? –

+0

이번에는 내 이미지의 실제 크기가 800x600입니다. 내 레이아웃에서는 여전히 android : layout_width = "800dip"android : layout_height = "600dip"'을 사용하여 작은 크기로 표시하고 있습니다 .. 여백 크기는 커지지만 이미지 여전히 매우 작게 표시됩니다. 50x50 인 것처럼 보입니다. –

1

다른 ImageView와 비율을 변경하기 때문에 centerInside 또는 centerCrop으로 크기를 조정할 수 있습니다.