2012-04-03 7 views
-1

Ich versuche, ein UIImage zu erstellen und es in der Fotogalerie zu speichern, das Bild wird erstellt, aber es ist nur ein Flugzeug weiß ohne Farbe was auch immer. Irgendwelche Ideen?Draw on a UIImage

UIGraphicsBeginImageContext(CGSizeMake(320,420)); 
CGContextRef ctx = UIGraphicsGetCurrentContext(); 

UIImage *image = [[UIImage alloc] init]; 

[image drawInRect:CGRectMake(0, 0, 100, 100)]; 

UIImage *newImage;  
newImage = UIGraphicsGetImageFromCurrentImageContext(); 

UIImageWriteToSavedPhotosAlbum(newImage, self, @selector(image:didFinishSavingWithError:ctx:), nil); 

Auch nur zu den oben genannten hinzuzufügen. Ich habe diese Zeile:

[self.view.layer renderInContext:UIGraphicsGetCurrentContext()]; 

Und jetzt habe ich ein graues Bild zu erhalten, noch kein Rechteck, aber es ist etwas anderes, so dachte, es könnte helfen

+0

Nur damit Sie wissen, Linien 3-5 tun nichts. Du füllst einen leeren Pfad. –

+0

Das war Teil meines Debug- Ich versuchte etwas zu zeigen, es wurde seitdem entfernt. Also irgendeine Idee, warum es nicht funktioniert? – wonza

Antwort

0

Was UIImage versuchen, Ihnen zu zeigen ?, dieser Code nur initialisiert ein Raum der Erinnerung, aber es ist mit nichts gefüllt, benutze [UIImage imageNamed: @ "..."]; wo die Zeichenfolge einige Datei die Ressourcen für Ihr Projekt ist. Sobald Sie das Bild im Kontext geöffnet und gezeichnet haben, können Sie eine Zeichenkette oder etwas darüber zeichnen.

Stellen Sie außerdem sicher, dass Sie den Kontext schließen, sobald Sie das Bild daraus erhalten haben.

+0

Ich versuche ein neues Bild zu erstellen und zu zeichnen, ich versuche nicht, ein vorhandenes Bild zu übermalen. Ich dachte [image drawInRect: CGRectMake (0, 0, 100, 100)]; zeichnet ein Rechteck an den angegebenen Koordinaten? – wonza

+0

Sie erstellen ein UIImage, das jedoch nichts enthält. Wenn Sie mit CGRectMake ein Rechteck erstellen und es dann färben usw., können Sie folgenden Code verwenden: CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetLineWidth (Kontext, 15.0); CGContextSetStrokeColorWithColor (Kontext, [UIColor blueColor] .CGColor); CGRect Rechteck = CGRectMake (60,300,650,400); CGContextAddRect (Kontext, Rechteck); CGContextStrokePath (Kontext); – tams

+0

Danke, ich habe offensichtlich missverstanden wie das funktioniert. – wonza