2011-05-04 69 views
9

我有1個圓形imageview,我想在位圖中放置位圖。 但是當我設置壓縮的位圖圖像時,它始終是矩形。 請幫我在圓形圖像視圖中設置位圖。如何設置圓形圖像中的位圖?

感謝

+3

出於好奇,你是如何製作圓形圖像視圖? – Mark 2013-01-03 23:49:32

+0

您可以設置類似的android:背景=「@繪製/ shape_border_radious」在ImageView的XML,然後創建圓形 – CGR 2017-10-12 21:32:26

回答

44

我很好奇你如何創建一個圓形的ImageView。你能分享這個祕密嗎? 就創建圓形位圖而言,請從要顯示的位圖創建一個BitmapShader。然後創建一個ShapeDrawable(Oval)併爲其分配位圖着色器。繪製drawable。巴姆!圓形圖像!

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 2011-05-04 11:34:23

+1

我不知道,但設置屬性的android:背景:@ drawable/round tolayout文件,其中round.xml是可繪製的文件,其形狀爲具有值橢圓形的根屬性,將創建圓形的imageview.Please清除一些細節,如果您已通過任何其他方式創建圓形圖像視圖。 – 2013-02-10 12:00:15

+0

感謝您的簡單和非常實用的代碼,完美的作品! – Pelanes 2013-04-10 22:48:44