1

CGImageRef をクリップボードのペーストボードにコピーしようとしています。(サイズがゼロの)から宛先を作成し、画像を宛先に追加し、ファイナライズしてから、参照をクリップボードにPasteboardPutItemFlavorすることで、これを行う必要があると主張する関数を見つけました。

ただし、機能しないため、2 つの質問:

  1. これは正しい方法ですか(つまり、小さなバグがあるだけですか、それとも間違っていますか?)

  2. 目的地はどのタイプにすればいいですか?ソースには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 );
}
4

2 に答える 2

2

ジェームズ・デンプシーの「クパチーノ早口言葉」を入力してください

ピーターは厚紙にPICTを置きました。

非推奨のPICTは、選択するのに適した厚紙タイプではありません。

参考のために参照してください:http://developer.apple.com/mac/library/documentation/cocoa/Conceptual/PasteboardGuide106/Articles/pbUpdating105.html

つまり、PICTを厚紙に置くことは非推奨です。

于 2010-07-20T18:17:46.080 に答える
0

わかりました、私はここで私自身の質問に答えています、しかしここに私が見つけたものがあります:

Appleは、ペーストボードにPDFを使用することを望んでいます。したがって、PictをPDFと交換すると、かなりムックが機能します。ただし、MS Word(私がテストしていたもの)は、最新バージョン(私が持っていないもの)でのPDFの貼り付けのみを許可し始めました。

つまり、それが解決策であり、PDFを使用し、Word2008が必要です。

于 2009-01-23T14:37:53.853 に答える