Junior
Τι είναι το Canvas στο Android;
sobes.tech AI
Απάντηση από AI
Το Canvas στο Android αντιπροσωπεύει μια επιφάνεια για ζωγραφική. Είναι ένα αντικείμενο που παρέχει μεθόδους για να ζωγραφίζει γραφικά primitives (σημεία, γραμμές, ορθογώνια, κύκλους, κείμενο, εικόνες) σε ένα bitmap (Bitmap) ή σε μια άλλη επιφάνεια.
Βασικές έννοιες:
- Ζωγραφική: Το
Canvasπαρέχει ένα API για να εκτελεί λειτουργίες ζωγραφικής όπωςdrawPoint(),drawLine(),drawRect(),drawCircle(),drawText(),drawBitmap(). - Σύστημα συντεταγμένων: Χρησιμοποιεί ένα δισδιάστατο σύστημα συντεταγμένων, όπου το σημείο (0,0) βρίσκεται στην πάνω αριστερή γωνία.
- Κατάσταση: Το
Canvasέχει μια κατάσταση που περιλαμβάνει τρέχουσες μετασχηματισμούς (μετατόπιση, κλιμάκωση, περιστροφή) και περιοχή περικοπής (clip region), τις οποίες μπορείς να αποθηκεύσεις και να επαναφέρεις (save()καιrestore()). - Paint: Τα αντικείμενα
Paintχρησιμοποιούνται για τον ορισμό του στυλ ζωγραφικής, όπως χρώμα, πάχος γραμμής, σκίαση, γραμματοσειρές κ.ά. ΤοCanvasχρησιμοποιεί το τρέχονPaintγια κάθε λειτουργία ζωγραφικής.
Παράδειγμα χρήσης σε μια προσαρμοσμένη View:
// Μέσα στη μέθοδο onDraw()
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
// Δημιουργία αντικειμένου Paint
Paint paint = new Paint();
paint.setColor(Color.RED); // Ορισμός χρώματος
// Ζωγραφική ορθογωνίου
canvas.drawRect(10, 10, 100, 100, paint);
// Ζωγραφική κύκλου
paint.setColor(Color.BLUE);
canvas.drawCircle(150, 150, 50, paint);
// Ορισμός κειμένου
paint.setColor(Color.BLACK);
paint.setTextSize(30);
canvas.drawText("Hello, Canvas!", 10, 200, paint);
}
Το Canvas είναι στενά συνδεδεμένο με αντικείμενα View. Όταν το σύστημα ζωγραφίζει ένα View, δημιουργεί ένα αντικείμενο Canvas και το περνά στη μέθοδο onDraw() του View. Το View στη συνέχεια χρησιμοποιεί αυτό το Canvas για να ζωγραφίσει το περιεχόμενό του.