Η κατηγορία GradientPaint παρέχει την πιο απλή μέθοδος για τη δημιουργία ενός απλού κλίση. Κατασκευαστή GradientPaint αποδέχεται δύο σημεία , δύο χρώματα και ένα προαιρετικό boolean τιμή . Η προκύπτουσα κλίση θα περάσουν από τον πρώτο χρώμα στο πρώτο σημείο στο δεύτερο χρώμα στο δεύτερο σημείο . Αν περάσει η τιμή boolean αλήθεια , η κλίση θα επαναλάβει την κλίση προς οποιαδήποτε κατεύθυνση πέρα από τα σημεία έναρξης και λήξης , δημιουργώντας ένα κυκλικό μοτίβο . Ένα αντικείμενο GradientPaint που κύκλοι μέσω του μπλε και του λευκού παρουσίες ως τέτοια :
GradientPaint p = νέα GradientPaint ( νέο σημείο ( 0,0 ) , Color.Blue , νέο σημείο ( 100.100 ) , Color.WHITE , αλήθεια ) ?
εικόνων LinearGradientPaint Class
Η
LinearGradientPaint είναι παρόμοια με GradientPaint , αλλά μπορεί να δημιουργήσει μια κλίση μέσα από περισσότερα από δύο χρώματα και επιτρέπει στους χρήστες να καθορίσουν πόσο ευρύ κάθε χρωματιστό τμήμα του η κλίση πρέπει να είναι. Κατασκευαστή LinearGradientPaint αποδέχεται δύο σημεία , μια σειρά από άρματα , μια σειρά από χρώματα και μια προαιρετική τιμή που υποδηλώνει πως η κλίση πρέπει να τον κύκλο μέσα από τα χρώματα . Κάθε τιμή float αντιστοιχεί σε ένα χρώμα και δείχνει σε ποιο σημείο της κλίσης ότι το χρώμα πρέπει να είναι κυρίαρχη . Για παράδειγμα, αν η κλίση πρέπει να είναι μπλε το ένα τρίτο της διαδρομής διαμέσου 0.3f κύκλο θα πρέπει να αντιστοιχεί με το μπλε χρώμα. Ένα αντικείμενο LinearGradientPaint που δημιουργεί μια κλίση μέσα από το μπλε , μαύρο και άσπρο χωρίς επανάληψη χρησιμοποιεί την ακόλουθη κατασκευαστή :
float [ ] = { x 0.0f , 0.3f , 1.0f } ? Color [ ] c = { Color . ΜΑΥΡΟ , Color.Blue , Color.WHITE } ? LinearGradientPaint lp = νέα LinearGradientPaint ( νέο σημείο ( 0,0 ) , νέο σημείο ( 100.100 ) , χ , γ) ?
Η RadialGradientPaint Class
Η
RadialGradientPaint δημιουργεί κυκλικά κλίσεις που εκτείνεται έξω από ένα μόνο σημείο . Κατασκευαστή του παίρνει ένα μόνο σημείο που αντιπροσωπεύει το κέντρο του κύκλου , μια τιμή πλωτήρα που αντιπροσωπεύει την ακτίνα του κύκλου , μία συστοιχία των πλωτήρων να εκπροσωπεί τον ρυθμό αλλαγής μεταξύ των χρωμάτων και μια σειρά χρωμάτων . Προαιρετικά , μπορεί να δεχθεί ένα σημείο εστίασης που μετατοπίζει το κέντρο της κλίσης για να δημιουργήσει ελλειπτική κλίσεις και μια τιμή για να καθορίσετε τον τρόπο τους κύκλους κλίση μέσα από τα χρώματα . Instantiating ένα αντικείμενο RadialGradientPaint είναι παρόμοια με τη δημιουργία ενός LinearPaintObject :
float [ ] = { x 0.0f , 0.3f , 1.0f } ? Color [ ] c = { Color.BLACK , Color.Blue , Color.WHITE } ? LinearGradientPaint lp = νέα LinearGradientPaint ( νέο σημείο ( 50,50 ) , ( float ) 25 , χ , γ) ?
εικόνων Ζωγραφική Gradient
Η
Μπορείτε να δημιουργήσετε πιο περίτεχνα προσαρμοσμένες διαβαθμίσεις της Java από την επεξεργασία των δικών σας κλίση μέσω ένθετα βρόχους . Σε κάθε βήμα στο βρόχο , δημιουργήστε ένα νέο χρώμα με βάση τη θέση σας στο βρόχο . Στο εσωτερικό βρόχο , σχεδιάστε ένα τετράγωνο σε μια θέση που ορίζεται από τη θέση σας στο βρόχο στο τρέχον χρώμα . Ο κώδικας στο παρακάτω παράδειγμα δημιουργεί μια βαθμίδωση ορθογώνιο που ξεκινάει από το σημείο (0,0) και είναι 400 pixels πλάτος και 500 pixels ύψος . Οι τιμές επίπλευσης r1 , g1 και b1 καθορίζουν τις τιμές R, G και Β του αρχικού χρώματος. Οι τιμές r2 , g2 και b2 καθορίζουν τις τιμές R, G και Β για το δεύτερο χρώμα. Τα πρώτα τρεξίματα βρόχου από τις αρχικές χ συντεταγμένων προς το πλάτος του ορθογωνίου. Οι πίστες του εσωτερικού βρόχου από την αρχική y συντεταγμένων προς το ύψος του ορθογωνίου . Έτσι, στον εσωτερικό βρόχο , το σημείο ( i, j) αντιστοιχεί πάντα σε ένα διαφορετικό σημείο στο ορθογώνιο κλίση. Κάθε φορά οι κύκλοι προγράμματος μέσω του βρόχου ένθετων , τροποποιεί το r και b αξιών ως κλάσμα των σημερινών συντεταγμένης χ ? Όσο πιο κοντά το σημείο είναι με την αρχική τιμή χ , η στενότερη οι τιμές r και Β θα είναι στην αρχική τους τιμή . Το πρόγραμμα τροποποιεί την τιμή Β σε σχέση με την τρέχουσα y συντεταγμένων , δημιουργώντας την ίδια επίδραση σε έναν διαφορετικό άξονα . Στη συνέχεια, δημιουργεί ένα νέο χρώμα από το τροποποιημένο r , g και b , και σχεδιάζει ένα ορθογώνιο από ακριβώς ένα pixel σε πλάτος και ύψος στην τρέχουσα συντεταγμένων στο νέο χρώμα
int x = 0 ? . Int y = 0 ? int width = 400 ? ύψος int = 500 ? float r1 = 0 ? επιπλέουν g1 = 0 ? b1 float = 1 ? r2 float = 1 ? επιπλέουν g2 = 1 ? b2 float = 0 ? επιπλέουν rs = Math.abs ( r2 - r1 ) ? επιπλέουν gS = Math.abs ( g2 - ζ1) ? επιπλέουν bS = Math.abs ( b2 - b1 ) ? for (int i = x ? i <πλάτος? i + + ) { για ( int j = y ? j <ύψος? j + + ) { float r , g , b ? εάν ( r1
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα