No products in the cart.
Nếu dùng canvas chúng ta có thể vẽ bất cứ hình 2D nào. Ví dụ: hình tròn, hình vuông, hình chữ nhật, hình thoi, hình bình hành…
Các khái niệm bắt buộc phải hiểu:
- Canvas là đối tượng sẽ vẽ các đối tượng ta đã tạo vd: đối tượng hình vuông, đối tượng hình tròn…
- Paint là 1 đối tượng cấu hình cách vẽ 1 đối tượng khác ví dụ như cấu hình màu (Color), độ nét (AntiAlias), độ dày của đường viền…
- canvas.save() phương thức save dùng để lưu lại trạng thái của đối tượng canvas ở thời điểm hiện tại, ví dụ nó sẽ lưu lại: vị trí x, x mà ta đang đứng, lưu lại độ scale hiện tại của canvas..
- canvas.translate(x,y): translate = move, ý chỉ là di chuyển đến 1 toạ độ nào đó. Sau khi lưu chúng ta có thể di chuyển tung tăng khắp nơi mà ko sợ cần phải tính toán cộng trừ nhân chia. Sau khi translate thì mặc định vị trí canvas sẽ là (0,0) tại nơi đã dịch chuyển đến.
- canvas.restore(): Sau khi vẽ vời, co dãn chán chê ở khu vực khác thì mình cần phải trở về vị trí ban đầu, nếu ko mình sẽ bị mất kiểm soát vị trí trên canvas.
- canvas.rotate(): Xoay canvas theo 360 độ, sau khi xoay thì hệ toạ độ x,y cũng thay đổi theo. Ví dụ xoay rotate(-90) thì hệ toạ độ 0,0 sẽ là từ dưới lên.
- invalidate(): khi tính toán xong thì cần refresh lại View (quan trọng)
hàm này sẽ gọi hàm onDraw()


Xoay canvas theo 360 độ, sau khi xoay thì hệ toạ độ x,y cũng thay đổi theo.
Ví dụ xoay rotate(-90) thì hệ toạ độ 0,0 sẽ là từ dưới lên.
Xem dự án mẫu tại đây:
https://github.com/dotrinhdev/canvas
Tham khảo thêm tài liệu:
https://stackoverflow.com/questions/5789813/what-does-canvas-translate-do
Chúng tôi sẽ cập nhật thêm khi có nhiều thời gian.
Các bài viết không xem thì tiếc:
- Vòng đời Acivity trong android cơ bản
- Ý nghĩa của clipToPadding trong Android
- Siêu tổng hợp android code snippets (cập nhật thường xuyên)
- Tạo seekbar và kiến thức hữu ích về seekbar trong Android
- Khảo sát mức lương lập trình viên trên thế giới
- “Các câu lệnh git thông dụng” cực cần thiết cho developer
- Tổng quan nhất về ứng dụng Android
- Thiết kế website số 1 Việt Nam và thiết kế web top 1 Google
- Làm sao thiết kế nhiều màn hình trong Android
- Lập trình với Recyclerview trong Android – Bài 1 | dotrinh.com
- LƯU Ý KHI ĐƯA APP LÊN APP STORE & TESTFLIGHT TỪ ĐÔ TRỊNH | dotrinh.com
- NGƯỜI VIỆT HỌC ĐƯỢC GÌ TỪ VIỆC ANDROID STUDIO CẬP NHẬT THƯỜNG XUYÊN?
- Cách dùng Eventbus để truyền dữ liệu trong Android
- Lập trình với Recyclerview trong Android – Bài 3 | dotrinh.com
- Show Indicator trong Android | Hiển thị indicator trong Android