2011-05-04 3 views
9

1 개의 원형 이미지 뷰가 있고 이미지 뷰 내부에 비트 맵을 배치하고 싶습니다. 하지만 압축 된 비트 맵 이미지를 설정하면 항상 사각형입니다. 원형 이미지 뷰에서 비트 맵을 설정하도록 도와주세요.원형 이미지 뷰에서 비트 맵을 설정하는 방법은 무엇입니까?

덕분에

+3

어떻게 원형 이미지보기를 만들었습니까? – Mark

+0

ImageView xml에서 android : background = "@ drawable/shape_border_radious"와 같은 것을 설정할 수 있고 원형 모양을 만들 수 있습니다 – CGR

답변

44

난 당신이 원형 이미지 뷰를 생성하는 방법에 대해 궁금합니다. 그 비밀을 나눌 수 있습니까? 순환 비트 맵을 만드는 경우에는 표시 할 비트 맵에서 BitmapShader를 만듭니다. 그런 다음 ShapeDrawable (Oval)을 만들고 비트 맵 셰이더를 할당하십시오. 드로어 블을 그립니다. 빵! 원형 이미지!

Bitmap bitmap = getthebitmapyouwanttoshowinacirclefromsomewhere; 
Bitmap circleBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888); 

BitmapShader shader = new BitmapShader (bitmap, TileMode.CLAMP, TileMode.CLAMP); 
Paint paint = new Paint(); 
     paint.setShader(shader); 
paint.setAntiAlias(true); 
Canvas c = new Canvas(circleBitmap); 
c.drawCircle(bitmap.getWidth()/2, bitmap.getHeight()/2, bitmap.getWidth()/2, paint); 

myImageView.setImageBitmap(circleBitmap); 
+1

감사합니다 Pennypacker .... 그것이 작동합니다 :) – Monali

+1

모르겠지만 설정 안드로이드 : 배경 : @ drawable/round tolayout 파일. 여기서 round.xml은 루트 속성 값이 타원 인 모양을 가진 드로어 블 파일이며 원형 이미지 뷰를 만듭니다. 다른 방법으로 원형 이미지 뷰를 만든 경우 몇 가지 세부 정보를 지우십시오. –

+0

간단하고 매우 기능적인 코드를 보내 주셔서 감사합니다. 완벽하게 작동합니다! – Pelanes

관련 문제