ओएस एक्स पर चौखटे का उपयोग करना, मैं पेस्टबोर्ड को एक PNG कॉपी करने के लिए निम्नलिखित का उपयोग कर सकते (सी में - स्पष्ट रूप से मैं कोको के साथ NSPasteboard इस्तेमाल कर सकते हैं):एक्स 11 के साथ क्लिपबोर्ड पर कैसे कॉपी करें?
#include <ApplicationServices/ApplicationServices.h>
int copyThatThing(void)
{
PasteboardRef clipboard;
if (PasteboardCreate(kPasteboardClipboard, &clipboard) != noErr) {
return -1;
}
if (PasteboardClear(clipboard) != noErr) {
CFRelease(clipboard);
return -1;
}
size_t len;
char *pngbuf = createMyPNGBuffer(&len); /* Defined somewhere else */
if (pngbuf == NULL) {
CFRelease(clipboard);
return -1;
}
CFDataRef data = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault, pngbuf,
len, kCFAllocatorNull);
if (data == NULL) {
CFRelease(clipboard);
free(pngbuf);
return -1;
}
OSStatus err;
err = PasteboardPutItemFlavor(clipboard, NULL, kUTTypePNG, data, 0);
CFRelease(clipboard);
CFRelease(data);
free(pngbuf);
return 0;
}
मैं करने के लिए इस कार्यक्षमता पोर्टिंग में दिलचस्पी रखता हूँ लिनक्स/* बीएसडी प्लेटफ़ॉर्म। एक्स का उपयोग करके मैं इसे कैसे दोहरा सकता हूं?
बहुत बहुत धन्यवाद। कंपिज़ स्क्रीनशॉट उपकरण के साथ बहुत उपयोगी! – Drasill
साफ स्क्रिप्ट! सुपरसियर पर निम्न प्रविष्टि में एक समान पायथन लिपि भी शामिल है, लेकिन यह केवल gnome के अंतर्गत काम करता है: http://superuser.com/questions/301851/how-to-copy-a-picture-to-clipboard-from-command-line -इन-लिनक्स – qed
यद्यपि इसमें सुधार किया जा सकता है। उदाहरण के लिए, क्लिपबोर्ड में सामग्री चिपक जाने के बाद, क्या हम इसे स्वचालित रूप से gtk.main को मार सकते हैं? – qed