Frage

Ich versuche, eine CGImageRef in die Zwischenablage zu kopieren Pappe. Ich fand eine Funktion, die es behauptet, sollte dies tun, indem Sie ein Ziel aus (Null Größe) zu schaffen, das Hinzufügen des Bildes zum Ziel, Finalisierung, dann PasteboardPutItemFlavor der ref in die Zwischenablage.

Allerdings ist es nicht funktioniert, so dass zwei Fragen:

  1. Ist das der richtige Weg, um dies zu? (Dh es gibt nur einen kleinen Fehler, oder bin ich es falsch?)

  2. Welche soll ich das Ziel zu machen? Die Quelle als TIFF hatte, aber Wort scheint nicht zu wissen, wie er damit umgehen, habe ich es zu PICT, die zumindest gab mir die „Paste“ Option, aber dann sagte, es wäre zu groß ...

Code:

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 );
}
War es hilfreich?

Lösung 2

Ok, ich bin hier, um meine eigene Frage zu beantworten, aber hier ist was ich gefunden habe:

Apple will Sie PDF für Pappen verwenden. Also, wenn Sie Pict tauschen mit PDF, es ist ziemlich muc einfach funktioniert. Allerdings MS Word (was ich teste mit) begann nur das Einfügen von PDF in der neuesten Version zu ermöglichen (was ich nicht haben).

Also, das ist die Lösung, die Verwendung PDF und benötigt Word 2008.

Andere Tipps

Geben Sie "The Cupertino Tongue Twister" von James Dempsey

Peter legte eine PICT auf der Montagefläche.

Veraltet PICT ist ein schlechter Typ Pappe wählen.

Als Referenz finden Sie unter: http: / /developer.apple.com/mac/library/documentation/cocoa/Conceptual/PasteboardGuide106/Articles/pbUpdating105.html

Kurz gesagt:. Es veraltet ist auf der Montagefläche PICT zu setzen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top