2009年11月25日水曜日

画像を保存する

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
UIImagePickerController から取得した画像を保存する。

ファイル名

ユニークにしたいので何かランダムなものにしたい。UUID を使うことにする。


- (NSString*) stringWithUUID {
CFUUIDRef uuidObj = CFUUIDCreate(nil);//create a new UUID
//get the string representation of the UUID
NSString *uuidString = (NSString*)CFUUIDCreateString(nil, uuidObj);
CFRelease(uuidObj);
return [uuidString autorelease];
}

- (NSString*)createImageFilename
{
NSString* filename =
[NSString stringWithFormat:@"%@.jpg", [self stringWithUUID]];
return filename;
}



(参考)Cocoaの日々: UUID を作る - CFUUIDCreate と globallyUniqueString


保存先

標準のドキュメントフォルダ直下とする。


- (NSString*)getImageFilepath
{
NSArray* paths = NSSearchPathForDirectoriesInDomains(
NSDocumentDirectoryNSUserDomainMaskYES);
NSString* path = [paths objectAtIndex:0];
return [path stringByAppendingPathComponent:self.memo.photo];
}


保存処理

UIImageJPEGRepresentation を使う。


- (void)saveImage
{
NSData* data = UIImageJPEGRepresentation(self.photoView.image,0.5);
[data writeToFile:[self getImageFilepath] atomically:NO];
}

0 件のコメント:

コメントを投稿