Search This Blog

Showing posts with label How to create user define images and save them in iPhone image gallery ?. Show all posts
Showing posts with label How to create user define images and save them in iPhone image gallery ?. Show all posts

Aug 5, 2011

How to create user define images and save them in iPhone image gallery ?

This example shows how to create user define image and save them to iPhone image gallery.


You can download source code from here Download.

1. Code for .h file.

#import

@interface RootViewController : UIViewController {
  
    CGPoint pointCurrent;
    IBOutlet UIImageView *img;
}

- (void)btnClear_Clicked:(id)sender;
- (void)btnSave_Clicked:(id)sender;
- (void)btnShow_Clicked:(id)sender;

@end


2. Code for .m file.

#import "RootViewController.h"


@implementation RootViewController


#pragma mark -
#pragma mark View lifecycle


- (void)viewDidLoad {
    [super viewDidLoad];
  
    self.navigationController.navigationBar.hidden = TRUE;
}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{  
    UITouch *touch = [touches anyObject];
    pointCurrent = [touch locationInView:self.view];
}

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{  
    UITouch *touch = [touches anyObject];
    CGPoint pointNext = [touch locationInView:self.view];
    UIGraphicsBeginImageContext(img.frame.size);
    [img.image drawInRect:CGRectMake(0, 0, img.frame.size.width, img.frame.size.height)];
    CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 2.0);
    CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 1.0, 0.0, 0.0, 1.0);
    CGContextMoveToPoint(UIGraphicsGetCurrentContext(), pointCurrent.x, pointCurrent.y);
    CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), pointNext.x, pointNext.y);
    CGContextStrokePath(UIGraphicsGetCurrentContext());
    img.image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    pointCurrent = pointNext;
}

- (void)btnClear_Clicked:(id)sender
{
    img.image = nil;
}

- (void)btnSave_Clicked:(id)sender
{
    UIImageWriteToSavedPhotosAlbum(img.image, nil, nil, nil);
    UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Success" message:@"Image saved successfully to iPhone photo albums..." delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
    [alert show];
    [alert release];
}

- (void)btnShow_Clicked:(id)sender
{
  
}

#pragma mark -
#pragma mark Memory management

- (void)didReceiveMemoryWarning {
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];
  
    // Relinquish ownership any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {
    // Relinquish ownership of anything that can be recreated in viewDidLoad or on demand.
    // For example: self.myOutlet = nil;
}


- (void)dealloc {
    [super dealloc];
}


@end