objective-c 画像の反転と回転
Cについては、全くの素人です。
読み込んだ画像を回転および反転して保存したいのですが、
画像の取り扱いが全くわからないのでご教授をお願いします。
webや書籍を探してみたのですが、画像の取り扱いについて記載しているものがなく困っています。
処理としては、複数毎の画像を読み取り、2枚目の画像を反転、3枚目を回転したいのです。
処理した画像を別名で保存するという流れです。
画像を読み取り、保存する処理は正常に行えています。
for(int i=0; i< [myImages count]; i++){
NSImage *bitmap = [[NSImage alloc] initWithContentsOfFile:[[myImages objectAtIndex:i]imageRepresentation]];
//反転
// 回転処理
// 画像保存
NSData* indata = [bitmap TIFFRepresentation];
NSBitmapImageRep* bitmapImageRep = [NSBitmapImageRep imageRepWithData:indata];
NSData* outdata = [bitmapImageRep representationUsingType:NSJPEGFileType properties:[NSDictionary dictionary]];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDesktopDirectory, NSUserDomainMask, YES);
NSString* path = [NSString stringWithFormat:@"%@/test_%d.jpg",[paths objectAtIndex:0],i, nil];
[outdata writeToFile:path atomically:YES];
[bitmap release];
}
回転処理については、調べた結果、NSAffineTransformを使う?ところまではわかったのですが、書式やらが全くわからない状態です。
反転処理は、setFlipped:YESで反転されるような文献を見つけたのですが、全く反転されません。
ご教授のほど、よろしくお願いします。
お礼
どうやら写真を撮る時点で正式な向きで取らないとマイピクチャでの回転修正は無理のようです。 カメラを横にして写したら、マイピクチャでの修正が出来ました。 ありがとうございました。
補足
早速にありがとうございます。試してみましたが駄々見るだけなら変更できますが、一度閉じて又開いても元に戻っていました。 下の一覧の画像を右クリックして、メニューの“・・・回転”をクリックするとダイアログが出て「このメッセージは回転できません。ファイルが使用されているまたは別のプログラムで開いている、あるいはファイルまたはフォルダが読み取り専用になっている可能性があります。」となります。 携帯の画像が固定されていると言う事でしょうか、、携帯の固定を解除する方法はどうしたものか?・・・携帯機種等明確でないと無理でしょうか?