![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
Cについては、全くの素人です。
「Xcodeプログラミング大全」という書籍を参考に、開発を進めているのですが、行き詰まってしまったので、質問させて下さい。
ImageKitを使ったイメージブラウザを作成して、取り込んだ画像を別名で別の場所に保存するプログラムを作成しています。
前半部は文字数の関係で省略します。
ボタンをクリックして画像を保存します。
- (IBAction)myButton:(id)sender;
{
// imagebrowserに保存した画像を順番に処理
for(int i=0; i< [myImages count]; i++){
NSData *data = nil;
NSString *errorDescription;
//NSPasteboard *pasteboard = [myImages objectAtIndex:i];
if([[[myImages objectAtIndex:i] types] containsObject:NSFilenamesPboardType])
data = [[myImages objectAtIndex:i] dataForType:NSFilenamesPboardType];
if(data){
NSArray *filenames = [NSPropertyListSerialization propertyListFromData:data mutabilityOption:kCFPropertyListImmutable format:nil errorDescription:&errorDescription];
for(int j=0;j< [filenames count];j++){
//NSLog(@"%@",[filenames objectAtIndex:j]);
NSBitmapImageRep* bitmap = [myImages objectAtIndex:i];
// 画像保存
NSData* outdata = [bitmap representationUsingType:NSPNGFileType properties:[NSDictionary dictionary]];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDesktopDirectory, NSUserDomainMask, YES);
NSString* path = [NSString stringWithFormat:@"%@/test.png",[paths objectAtIndex:0], nil];
[outdata writeToFile:path atomically:YES];
/
}
}
}
}
@end
エラーは発生しないのですが、コンソールに「[MyImageObject types]: unrecognized selector sent to instance 0xf722590」と表示されます。
また、画像は全く保存されません。
どなたか、ご教授をお願いします。
No.1ベストアンサー
- 回答日時:
こんにちわ
ざっと見た限りで回答してみますが、コンソールに出力されている内容はunrecognized selectorですからインスタンスにセレクタがない、と言っているのだと思います。該当箇所は明示されている通り[MyImageObject types]なので、実装をみると
if([[[myImages objectAtIndex:i] types] containsObject:NSFilenamesPboardType])
のif文中ではないかと思います。ここで[myImages objectAtIndex:i]オブジェクトに対してtypesセレクタの存在を想定しているのは、[myImages objectAtIndex:i]がNSPasteboardクラスのインスタンスであるからだと想像しますが認識は合っていますか?
しっかりコードを読み込んでいないのでわかりにくいのですが、コードの下の方に
NSBitmapImageRep* bitmap = [myImages objectAtIndex:i]
とあり、[myImages objectAtIndex:i]をNSBitmapImageRepとして取得しています。NSBitmapImageRepにtypesセレクタはないと思います。コードの前半と後半で同じオブジェクトに対して2種類の型を想定しているように見えますがいかがでしょうか?
ご指摘ありがとうございました。
[myImages objectAtIndex:i]imageRepresentation]とすることでパスを取得できました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP imageフォルダに、画像をリサイズして保存する時のファイル名を変更したい 1 2023/05/30 11:39
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- C言語・C++・C# C言語 3 2022/11/09 13:27
- C言語・C++・C# C言語の質問です。バイナリ形式で保存されたWindows Bitmap形式の画像ファイルを読み込み、 3 2023/07/19 14:58
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP php 確認表示画面で値をSESSIONから取り出す理由の解釈は正しいでしょうか? 1 2023/06/09 17:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
オブジェクト型の変数が定義さ...
-
FriendとPublicの違い。。。
-
既定のコンストラクタがない?
-
MFC 分割ウィンドウのそれぞれ...
-
クラスのアドレスを引数として...
-
CMainFrameクラスの使い方
-
VB.NETで、DLLを頂いたんですが...
-
VC++ 7.1 で メインウィンドウ...
-
画像をクラスにどうやって渡す...
-
OnPaintとOnDraw関数の違いにつ...
-
MFCのCListCtrlでスクロールを検出
-
excel vba グラフ データラベル...
-
DebugクラスとTraceクラスの違い
-
(UWSC) 「#32770」の意味わかり...
-
MFCのドラッグ&ドロップについて
-
MFCアプリのコマンドラインでパ...
-
privateなメンバ関数をテストす...
-
MessageBoxを継承したい
-
OnInitDialog()の関数の組み込み方
-
C++ protectedにアクセス不可
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CreateObjectとはどういう意味...
-
オブジェクト型の変数が定義さ...
-
ボタンを押すとラベルの文字を...
-
C# panel内のコントロールの使...
-
コンストラクタ内でのthisポインタ
-
クラス内にWin32APIのコールバ...
-
メモリリークが発生するのはど...
-
【VC++6.0(MFC)】「Out of memo...
-
関数で値渡しと参照渡しではど...
-
オブジェクトをどこでdisposeす...
-
C++の連想配列の使い方
-
すべてのページにServer.Create...
-
VB6では、Applicationは未定義...
-
チュートリアル : オブジェクト...
-
SetとNothingの存在意味?
-
Visual studio c# android オブ...
-
【VC++.NET】コンストラクタと...
-
C#でExcelを起動したい
-
ゆかりネットで東北ずん子exを...
-
ADODB.Connectionはインターフ...
おすすめ情報