Δημιουργήστε ένα έγχρωμο φούσκα / κύκλο προγραμματισμού στη δημιουργία αρχείο και κακάο

ψήφοι
14

Μπορεί κάποιος οδηγός μου με το σωστό τρόπο για να οικοδομήσουμε ένα έγχρωμο φούσκα / κύκλο προγραμματισμού;

Δεν μπορώ να χρησιμοποιήσω τις εικόνες όπως πρέπει να είναι σε θέση να είναι οποιοδήποτε χρώμα ανάλογα με την αλληλεπίδραση του χρήστη.

Η σκέψη μου ήταν ίσως να κάνει ένα λευκό κύκλο εικόνα και στη συνέχεια να επικαλύψει ένα χρώμα από πάνω του. Ωστόσο, δεν είμαι σίγουρος αν αυτό θα μπορούσε να λειτουργήσει, ή πώς να πάει πραγματικά για αυτό.

Αν κάποιος θα μπορούσε να μου προς τη σωστή κατεύθυνση, θα το εκτιμούσα.

Δημοσιεύθηκε 10/12/2008 στις 00:28
πηγή χρήστη
Σε άλλες γλώσσες...                            


5 απαντήσεις

ψήφοι
31

Υπάρχουν ένα-δύο βήματα για την κατάρτιση κάτι το κακάο.

Πρώτα θα πρέπει να έχετε μια διαδρομή που θα χρησιμοποιηθεί για να καθορίσει το αντικείμενο που θα έχετε την ευκαιρία να την κατάρτιση. Ρίξτε μια ματιά εδώ Σχέδιο Θεμελιωδών σχήματα για έναν οδηγό σχετικά με τη δημιουργία διαδρομών σε κακάο. Θα είναι πολύ ενδιαφέρον να το στείλει το μήνυμα «appendBezierPathWithOvalInRect» σε ένα αντικείμενο «NSBezierPath», αυτό παίρνει ένα ορθογώνιο που περιβάλλει τον κύκλο που θέλετε να σχεδιάσετε.

Ο κωδικός αυτός θα δημιουργήσει ένα 10x10 κύκλο στις συντεταγμένες 10,10:

NSRect rect = NSMakeRect(10, 10, 10, 10);
NSBezierPath* circlePath = [NSBezierPath bezierPath];
[circlePath appendBezierPathWithOvalInRect: rect];

Μόλις έχετε την πορεία σας που θέλετε να ορίσετε το χρώμα για το τρέχον πλαίσιο σχεδίασης. Υπάρχουν δύο χρώματα, το εγκεφαλικό επεισόδιο και να συμπληρώσετε? εγκεφαλικό επεισόδιο είναι το περίγραμμα της διαδρομής και το γέμισμα είναι το εσωτερικό χρώμα. Για να ορίσετε ένα χρώμα που στέλνετε «που» σε ένα αντικείμενο «NSColor».

Αυτό θέτει το εγκεφαλικό επεισόδιο σε μαύρο και το γέμισμα με κόκκινο:

[[NSColor blackColor] setStroke];
[[NSColor redColor] setFill];

Τώρα που έχετε την πορεία σας και να έχετε τα χρώματά σας μόλις γεμίσει το δρόμο και στη συνέχεια να συντάξει το:

[path stroke];
[path fill];

Όλα αυτά θα πρέπει να γίνει σε ένα πλαίσιο γραφικών, όπως το drawRect μιας προβολής, ίσως. Όλα αυτά σε συνδυασμό με ένα πλαίσιο γραφικών θα είναι κάπως έτσι:

- (void)drawRect:(NSRect)rect
{
    // Get the graphics context that we are currently executing under
    NSGraphicsContext* gc = [NSGraphicsContext currentContext];

    // Save the current graphics context settings
    [gc saveGraphicsState];

    // Set the color in the current graphics context for future draw operations
    [[NSColor blackColor] setStroke];
    [[NSColor redColor] setFill];

    // Create our circle path
    NSRect rect = NSMakeRect(10, 10, 10, 10);
    NSBezierPath* circlePath = [NSBezierPath bezierPath];
    [circlePath appendBezierPathWithOvalInRect: rect];

    // Outline and fill the path
    [circlePath stroke];
    [circlePath fill];

    // Restore the context to what it was before we messed with it
    [gc restoreGraphicsState];
}
Απαντήθηκε 10/12/2008 στις 01:02
πηγή χρήστη

ψήφοι
12

Μπορείτε να χρησιμοποιήσετε απλά UIViewγια να δημιουργήσει τέλειο κύκλο με μόνο παράμετρο radius:

// Add framework CoreGraphics.framework
#import <QuartzCore/QuartzCore.h>

-(UIView *)circleWithColor:(UIColor *)color radius:(int)radius {
    UIView *circle = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 2 * radius, 2 * radius)];
    circle.backgroundColor = color;
    circle.layer.cornerRadius = radius;
    circle.layer.masksToBounds = YES;
    return circle;
}
Απαντήθηκε 09/12/2012 στις 09:42
πηγή χρήστη

ψήφοι
11

Δημιουργήστε μια υποκατηγορία NSView που κατέχει NSColor ως Ivar. Στη μέθοδο drawRect, δημιουργούν ένα NSBezierPath του κατάλληλου μεγέθους, χρησιμοποιώντας όρια της προβολής. Στη συνέχεια, ρυθμίστε το χρώμα [myColor set]και να συμπληρώσετε τη διαδρομή [myPath fill]. Εκεί είναι πολλά περισσότερα που μπορείτε να κάνετε, όπως το σύνολο της διαφάνειας, τα σύνορα, και ούτω καθεξής και ούτω καθεξής, αλλά εγώ θα το αφήσω αυτό στα έγγραφα, εκτός αν έχετε μια συγκεκριμένη ερώτηση.

Για να χρησιμοποιήσετε την υποκατηγορία NSView, απλά σύρετε ένα αντικείμενο θέα στην μύτη σας, και επιλέξτε το όνομα της υποκατηγορίας σας στο έθιμο τάξη επιθεωρητής της IB. Θα πρέπει να ορίσετε επίσης μια διέξοδο σε αυτό το χειριστήριο σας, ώστε να μπορείτε να αλλάξετε το χρώμα του ανάλογα με τις ανάγκες.

Απαντήθηκε 10/12/2008 στις 00:40
πηγή χρήστη

ψήφοι
7
    CGContextRef c = UIGraphicsGetCurrentContext();
    CGContextSetRGBFillColor(c, 40, 0, 255, 0.1);
    CGContextSetRGBStrokeColor(c, 0, 40, 255, 0.5);

   // Draw a green solid circle
    CGContextSetRGBFillColor(c, 0, 255, 0, 1);
    CGContextFillEllipseInRect(c, CGRectMake(100, 100, 25, 25));
Απαντήθηκε 11/10/2011 στις 12:09
πηγή χρήστη

ψήφοι
2

Κατεβάστε το σκίτσο από την Apple. http://developer.apple.com/library/mac/#samplecode/Sketch

Μπορεί να κάνει πολλά περισσότερα, αλλά ένα από τα πράγματα που είναι σχεδιάσετε κύκλους.

Απαντήθηκε 10/12/2008 στις 00:46
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more