Flutter: CustomPaint [Phần 2]

Tram Ho

Nhưng bạn muốn hơn thế nữa, muốn vẽ các đường cong uốn lượn hay chỉ một phần của đường tròn… Thì bài này là dành cho điều đó.
Lớp Path ngoài việc vẽ các đường thẳng như được giới thiệu trong bài trước, nó còn cung cấp những hàm đặc biệt giúp ta vẽ các đường cong.

Vẽ đường cong

quadraticBezierTo

quadraticBezierTo là hàm vẽ 1 đường cong Bezier bậc 2.

Ví dụ sau ta vẽ 1 đường cong Bezier từ 3 điểm (0, height/2) (trung điểm của cạnh trái) (width / 2,height) (trung điểm của cạnh dưới – điểm kiểm soát) (width, height/2) (trung điểm của cạnh phải)

Bạn có thể chạy thử code ở đây Run

cubicTo

Là hàm vẽ 1 đường cong Bezier bậc 3. Không giống như quadraticBezierTo, cubicTo có tới 2 điểm kiểm soát . Do đó bạn có thể tính toán chọn điểm kiểm soát để có thể tạo được 1 đường lượn sóng.

Run

conicTo

conicTo về cơ bản cũng hoạt động giống như quadraticBeizerTo với sự khác biệt duy nhất là biến trọng số. Nếu trọng số lớn hơn 1, hình được vẽ là hyperbol. Nếu trọng số là 1 thì hình được vẽ là hình parabol và nếu nó nhỏ hơn 1, hình được vẽ sẽ là hình elip.

Run

arcTo

arcTo là hàm vẽ 1 phần hình oval từ góc bắt đầu đến góc kết thúc (đo bằng radian)

Run

Các fuction khác

addRect

addRRect

Hình chữ nhật với các góc được bo tròn

Cảm ơn các bạn đã theo dõi bài viết !!

Nguồn

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo