мы работаем над приложением 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, чтобы изменить его так, как нам нужно, а затем положить его обратно в монтажную панель и вставить обратно, заменяя исходный выбор пользователя.
Спасибо!