Obwohl es wie eine einfache Frage klingen mag, ist es nicht ganz einfach, so etwas zu tun. Sie benötigen eine Menge Hintergrundinformationen, um alles in Gang zu bringen. Es hängt auch davon ab, woher das Bild kommt und was Sie damit machen wollen.
Ich will nicht, dass Sie mit einem Arbeitsbeispiel liefern, aber hier ist einige Hinweise:
Lesen in einem Bild:
UIImage *img = [UIImage imageNamed:@"myimage.png"];
// make sure you added myimage.png to your project
Erstellen eines eigenen "Grafikkontext" zeichnen auf:
UIGraphicsBeginImageContext(CGSizeMake(480.0f, 320.0f)); // the size (width,height)
CGContextRef ctx = UIGraphicsGetCurrentContext();
Malen Sie Ihr Bild auf Ihren (aktuellen) Kontext:
[img drawAtPoint:CGPointMake(0.0f, -480.0f)]; // (draws on current context)
eine andere Malerei tun:
CGContextBeginPath(ctx); // start a path
CGContextSetRGBStrokeColor(ctx,1,0,0,1); // red,green,blue,alpha with range 0-1
CGContextMoveToPoint(ctx,50,0); // move to beginning of path at point (50,0)
CGContextAddLineToPoint(ctx,100,100); // add a line to point (100,100)
CGContextStrokePath(ctx); // do the drawing
Umwandlung der Bitmap-Kontext zu einem Bild wieder:
UIImage *resultImage = UIGraphicsGetImageFromCurrentImageContext();
Und dann entweder:
Zeigen Sie das Bild an das Publikum, von innen ein Ansichtssteuerung:
[self.view addSubview:[[[UIImageView alloc] initWithImage:resultImage] autorelease]];
Oder schreiben Sie das Bild als JPEG:
NSData *imagedata = UIImageJPEGRepresentation(img,0.8); // 0.8 = quality
[imagedata writeToFile:filename atomically:NO];
oder als PNG:
NSData *imagedata = UIImagePNGRepresentation(img);
[imagedata writeToFile:filename atomically:NO];
Für die letzten, müssen Sie einen Dateinamen haben, die nicht so trivial ist entweder (angesichts der Telefonumgebung Sie leben im). Das ist ein anderes Thema, zu dem Sie eine Menge finden, suchen für Dinge wie:
NSArray *path = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *filename = [[path elementAtIndex:0] stringByAppendingPathComponent:@"myimage.png"];
Dies ist der allgemeine Umriss, könnte ich einige Fehler gemacht haben, aber dies sollte erhalten Sie zumindest gehen.
Wo sind die Pixel? Eine Bilddatei, die Sie bearbeiten, oder in einer Live-Ansicht auf dem Bildschirm? –
In Live-Ansicht auf dem Bildschirm. – Zigglzworth