Domanda

Sto provando a copiare un CGImageRef negli appunti della lavagna. Ho trovato una funzione che afferma che dovrebbe farlo creando una destinazione da (dimensione zero), aggiungendo l'immagine alla destinazione, finalizzando, quindi PasteboardPutItemFlavor il riferimento negli appunti.

Tuttavia non funziona, quindi due domande:

  1. È questo il modo corretto di procedere? (vale a dire, c'è solo un piccolo bug o sto sbagliando?)

  2. Che tipo dovrei fare la destinazione? La fonte lo aveva come TIFF, ma la parola non sembra sapere come gestirlo, l'ho cambiato in PICT, che almeno mi ha dato il "incolla". opzione, ma poi ha detto che era troppo grande ...

Codice:

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 );
}
È stato utile?

Soluzione 2

Ok, sto rispondendo alla mia domanda qui, ma ecco cosa ho trovato:

Apple vuole che tu usi PDF per i pannelli di cartone. Quindi, se si sostituisce Pict con PDF, funziona abbastanza bene. Tuttavia, MS Word (quello con cui stavo testando) ha iniziato a consentire l'incollaggio di PDF nella versione più recente (che non ho).

Quindi, questa è la soluzione, usa PDF e richiede Word 2008.

Altri suggerimenti

Inserisci " The Cupertino Tongue Twister " di James Dempsey

Peter mise un PICT sul cartone.

PICT obsoleto è un tipo scadente di cartone da scegliere.

Per riferimento vedi: http: / /developer.apple.com/mac/library/documentation/cocoa/Conceptual/PasteboardGuide106/Articles/pbUpdating105.html

In breve: è obsoleto mettere PICT sul pannello di montaggio.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top