0
所以我畫一個圓圈,下面的代碼描畫圓是在Android的較大然後大小相同的位圖
public void drawCircle(int radius, ImageView imageView)
{
Paint circlePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
circlePaint.setStrokeWidth(1);
circlePaint.setColor(Color.RED);
circlePaint.setStyle(Paint.Style.FILL_AND_STROKE);
circlePaint.setAntiAlias(true);
Bitmap circleBitmap = Bitmap.createBitmap(radius*2, radius*2, Bitmap.Config.ARGB_4444);
Canvas circleCanvas = new Canvas(circleBitmap);
circleCanvas.drawCircle(radius, radius, radius, circlePaint);
//canvas.drawColor(Color.WHITE); used on the picture to the right
imageView.setImageBitmap(circleBitmap);
}
這將吸引我的屏幕
由於在下面的圓形您可能會看到圓圈的頂部,底部,左側和右側部分略有切斷。將位圖的背景顏色設置爲白色顯示罪魁禍首。繪製的圓與位圖的寬度和高度相同,半徑略大於位圖。
爲了確保這是發生了什麼事情,我試圖繪製相同大小的圓,但我增加了大約5%的位圖大小,並將其中心圓。這給了我如下:
正如你可能會看到這些圈子不具有前一界具有相同截止。
這是預期的行爲?如果我想畫出尺寸爲x的適當的圓,那麼我總是需要創建尺寸大於x的位圖,然後正確地將圓中心放在它的內部?