클립 보드에 cgimageref를 넣습니다
-
19-08-2019 - |
문제
CGIMAGEREF를 클립 보드 페이스트 보드에 복사하려고합니다. (제로 크기)에서 대상을 만들고, 대상에 이미지를 추가하고, 마무리 한 다음, PasteBoardPutItemFlaving을 클립 보드에 ref를 ref에 넣어야한다고 주장하는 함수를 찾았습니다.
그러나 작동하지 않으므로 두 가지 질문이 있습니다.
~이다 이것이 올바른 방법입니까? (즉, 작은 버그 만 있습니까, 아니면 내가 잘못하고 있습니까?)
목적지를 만들어야하는 유형은 무엇입니까? 소스는 그것을 tiff로 가지고 있었지만 단어를 다루는 방법을 알지 못하는 것 같습니다. 나는 그것을 Pict로 변경하여 적어도 "페이스트"옵션을 주었지만 너무 큽니다 ...
암호:
void copyCGImageRefToPasteboard(CGImageRef ref)
{
OSStatus err = noErr;
PasteboardRef theClipboard;
err = PasteboardCreate( kPasteboardClipboard, &theClipboard );
err = PasteboardClear( theClipboard );// 1
CFMutableDataRef url = CFDataCreateMutable(kCFAllocatorDefault, 0);
CFStringRef type = kUTTypePICT;
size_t count = 1;
CFDictionaryRef options = NULL;
CGImageDestinationRef dest = CGImageDestinationCreateWithData(url, type, count, options);
CGImageDestinationAddImage(dest, ref, NULL);
CGImageDestinationFinalize(dest);
err = PasteboardPutItemFlavor( theClipboard, (PasteboardItemID)1, type, url, 0 );
}
해결책 2
좋아, 여기서 내 자신의 질문에 대답하고 있지만 여기에 내가 찾은 내용은 다음과 같습니다.
Apple은 페이스트 보드에 PDF를 사용하기를 원합니다. 따라서 PDF로 사진을 교체하면 꽤 MUC가 작동합니다. 그러나 MS Word (내가 테스트 한 내용)는 최신 버전 (내가 가지고 있지 않은)에서 PDF의 붙여 넣기를 허용하기 시작했습니다.
이것이 바로 솔루션이며 PDF를 사용하며 Word 2008이 필요합니다.
다른 팁
James Dempsey의 "Cupertino Tonge Twister"를 입력하십시오.
베드로는 페이스트 보드에 사진을 찍었습니다.
더 이상 사용되지 않은 Pick은 선택할 페이스트 보드 유형이 좋지 않습니다.
참조를 참조하십시오 : http://developer.apple.com/mac/library/documentation/cocoa/conceptual/pasteboardguide106/articles/pbupdating105.html
요컨대 : 페이스트 보드에 픽을 넣는 것은 더 이상 사용되지 않습니다.