以前のリビジョンの文書です
使うシーンがあるか微妙ですが。。
Path # quadTo (float x1, float y1, float x2, float y2)
Path # cubicTo (float x1, float y1, float x2, float y2, float x3, float y3)
制御点の数が違います
cubicToで一角だけ描画
@Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); Paint paint = new Paint(); paint.setStrokeWidth(2f); paint.setColor(Color.WHITE); paint.setAntiAlias(true); paint.setStyle(Paint.Style.STROKE); Path path = new Path(); // スタート地点を移動 path.moveTo(250, 0); // 制御点1 X, 制御点1 Y, 制御点2 X, 制御点2Y, 終点X, 終点Y path.cubicTo(450, 0, 500, 50, 500, 250); canvas.drawPath(path, paint); }
矩形を描画してクリッピング
@Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); Path path = new Path(); // スタート地点を移動 path.moveTo(250, 0); // 制御点1 X, 制御点1 Y, 制御点2 X, 制御点2Y, 終点X, 終点Y path.cubicTo(450, 0, 500, 50, 500, 250); path.cubicTo(500, 450, 450, 500, 250, 500); path.cubicTo(50, 500, 0, 450, 0, 250); path.cubicTo(0, 50, 50, 0, 250, 0); canvas.clipPath(path); Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.eventnews1082); canvas.drawBitmap(bitmap, 0, 0, null); }