2012-08-27 78 views
0

我有一個image,我可以在它上面繪製的circle像下面的代碼:繪製圓了與顏色相同的位圖下位

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), 
      R.drawable.girl).copy(Bitmap.Config.ARGB_8888, true); 
Canvas canvas = new Canvas(bitmap); 
Paint paint = new Paint(); 
paint.setColor(Color.RED); 
paint.setStrokeWidth(200); 
paint.setStyle(Style.STROKE.FILL); 
paint.setAntiAlias(true); 
canvas.drawCircle(bitmap.getWidth()/2, bitmap.getHeight()/2, 100, 
      paint); 

而且circle將是紅色的!但由於某種原因,我想要circle的顏色與bitmap下的顏色相同。我可以做嗎?如何?感謝大家!

編輯:另一個問題,我如何獲得circle內的所有像素?

回答

0

你爲什麼不乾脆刪除paint.setStyle(Style.STROKE.FILL);或嘗試改變paint.setColor(Color.RED);爲透明色,這應該是它

+0

其實我想用'circle'來繪製一些效果!比如模糊的'circle' ... –

+0

嘗試使用'paint.setStyle(Paint.Style.STROKE);'而不是你自己的風格,看看它是否適合你 – Anuj

+0

這是沒用的!如果我嘗試使用'paint.setColor(Color.TRANSPARENT)',當我爲'circle'使用'blur'時沒有任何效果。 –

0

你可以在這個article通過該方法獲得指定pixel的顏色,然後做一個RGB Color然後設置這個顏色代替你提到的color.RED

+0

是的,但是如何獲得'circle'中的所有像素? –