Ändern der Hintergrundfarbe einer CGContext
ich bin wirklich neu im Umgang mit CGContexts und ich bin nur versuchen, um meinen Kopf um Dinge, die durch folgende einfache touch-Lack & sketch tutorial (http://blog.effectiveui.com/?p=8105)
Habe ich gegen eine Wand geprallt, wenn es um die änderung der hintergrund Farbe meines CGContext obwohl.
Ich bin Initiierung der conext wie diese:
- (BOOL) initContext:(CGSize)size {
int bitmapBytesPerRow;
bitmapBytesPerRow = (size.width * 4);
cacheContext = CGBitmapContextCreate (nil, size.width, size.height, 8, bitmapBytesPerRow, CGColorSpaceCreateDeviceRGB(), kCGImageAlphaNoneSkipLast);
CGContextSetRGBFillColor(cacheContext, 1, 1, 1, 1);
return YES;
}
und ändern stroke Farben und breiten, wie diese:
UIColor *color = [UIColor whiteColor];
CGContextSetStrokeColorWithColor(cacheContext, [color CGColor]);
CGContextSetLineCap(cacheContext, kCGLineCapRound);
CGContextSetLineWidth(cacheContext, 4);
aber wenn ich versuche zu ändern, die hintergrund Farbe von schwarz (in der init oder in der Zeichnung/Hub set-up-Teile) mit CGContextSetRGBFillColor(cacheContext, 1, 1, 1, 1);
es keine Wirkung.
Ist jemand in der Lage, zeigen Sie mich in die richtige Richtung, entweder einen besseren/richtigen Stelle zu platzieren, rufen Sie, oder der korrekte Aufruf verwenden? Vielen Dank für Ihre Zeit!
- mögliche Duplikate von: stackoverflow.com/questions/2571550/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kann man nicht einfach die Farbe einstellen und erwarten, dass die Rahmen zu füllen, mit der neuen Farbe. Sie müssen tatsächlich zeichnen, die Farbe in den Kontext. In der init-Methode nach dem festlegen der Füllfarbe, versuchen Sie mit so etwas wie
Auf ein zugehöriger Hinweis, den Kontext nicht haben eine schwarze Farbe standardmäßig. Sie haben eine transparente Farbe. Nun, wenn Ihr Rahmen nicht über einen alpha-Kanal, dann wird am Ende schwarz sein, aber wenn dein Rahmen hat einen alpha-Kanal und Sie sehen schwarz, weil Sie die rendering-Ausgang auf der Oberseite etwas schwarz (oder, alternativ, setzen Sie das transparente Bild in eine Ebene, die
opaque
- flag auf true gesetzt und CoreAnimation endet zeichnen Sie es auf der Oberseite schwarz).