選択したテキストや画像を外部アプリケーションからコピーし、変更してから貼り付けるC++Qtアプリケーションに取り組んでいます。Macを使用しているため、この部分はObjective-Cで実行しています。
ペーストボードから画像を取得しようとすると問題が発生します。テキストには問題なく機能しますが、画像の処理方法やテキストと画像の組み合わせについてはよくわかりません。ユーザーが何を選択するかわからないため、ペーストボードのコンテンツの一般的な取得を実行して変更し、ペーストボードに戻すことができるはずです。
私たちはこれを試しました:
//we thought about retrieving some generic item from pasteboard, using NSPasteboardItem
NSArray *classes = [[NSArray alloc] initWithObjects:[NSPasteboardItem class], nil];
NSDictionary *options = [NSDictionary dictionary];
NSArray *auxArray = [[NSPasteboard generalPasteboard] readObjectsForClasses:classes options:options];
NSData *archived_data = [auxArray objectAtIndex:0];
テキストを処理するためのソリューションは次のとおりです。
NSString *text = [[NSPasteoard generalPasteboard] stringForType:NSStringPboardType];
string text_str = string([text UTF8String]);
うまくいかなかったので、どうすればペーストボードからユーザー選択を取得できますか?必要に応じて変更するには、生のバイトまたはrtfコンテンツを取得し、それをペーストボードに戻し、元のユーザー選択を置き換えて貼り付ける必要があります。
ありがとう!