2013-02-07 6 views
5

날카로운 모서리로 직사각형을 그릴 수있게되었습니다. 이제 날카로운 모서리를 둥글게 만들 필요가 있습니다.모서리가 둥근 모서리를 그립니다.

어떻게 수행하나요?

이 내 코드입니다 :

public void drawShape(Canvas canvas, Renderer renderer, float x, float y, 
     int seriesIndex, Paint paint) { 
    float halfShapeWidth = shape_width/2; 
    canvas.drawRect(x , y - halfShapeWidth, x + SHAPE_WIDTH, y + halfShapeWidth, paint); 
    } 

어떻게 같은 매개 변수를 전달하여이 둥근 RECT를 만들기 위해?

답변

6

당신은 당신이 함수를 호출하기 전에 drawRoundRect

당신은 RectF의 위치와 크기를 포장해야합니다 사용할 수 있습니다.

-5
public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, int pixels) { 
     Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888); 
     Canvas canvas = new Canvas(output); 

     final int color = 0xff424242; 
     final Paint paint = new Paint(); 
     final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); 
     final RectF rectF = new RectF(rect); 
     final float roundPx = pixels; 

     paint.setAntiAlias(true); 
     canvas.drawARGB(0, 0, 0, 0); 
     paint.setColor(color); 
     canvas.drawRoundRect(rectF, roundPx, roundPx, paint); 

     paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN)); 
     canvas.drawBitmap(bitmap, rect, rect, paint); 

     return output; 
    } 
26

좋아, 나 자신이 코드를 사용하여 그것을 해결 :

RectF r = new RectF(1,2,3,4); 
canvas.drawRoundRect(r, 0, 0, mPaint); 

이 다른 사람을 도움이되기를 바랍니다.

관련 문제