请注意是复制到剪贴板,当然是在Matlab环境下.因为我想实现这么一个功能:
在Matlab环境下复制一个图形,在其他程序中把复制的东西再拿来出,查了一些资料,发现关于剪贴板操作有两个函数----
1.Clipboard
我查了下帮助,Clipboard只能将字符串复制到剪贴板,即clipboard('copy','0000.jpg');复制的结果仅仅是"0000.jpg"这几个字符,而并不是0000.jpg所指向的图片,但是我看到有资料对Clipboard做出了如下解释:
"
Clipboard对象提供对系统Clipboard的访问。
说明 Clipboard对象用于操作剪贴板上的文本和图形。它使用户能够复制、剪切和粘贴应用程序中的文本和图形。在复制任何信息到Clipboard对象中之前,应使用Clear方法清除Clipboard对象中的内容,例如Clipboard.Clear。注意所有Windows应用程序共享Clipboard对象,因此当切换到其它应用程序时,剪贴板内容会改变。 Clipboard对象可包含多段数据,只要每段数据的格式不同。例如,可用SetData方法把位图以vbCFDIB格式放到Clipboard中,接着再用SetText方法以vbCFText格式将文本放到Clipboard中。然后用GetText方法检索文本或用GetData方法检索图形。当用代码或菜单命令把另一段数据放到Clipboard中时,原Clipboard中相同格式的数据会丢失
SetData方法 用以使用指定的图形格式将图片放到Clipboard对象上。不支持命名参数
"
不明白既然Clipboard是Windows应用程序共享对象,在Matlab只能够调用还出错:
Clipboard.Clear
Warning: Could not find an exact (case-sensitive)
match for 'Clipboard'.
C:\Program Files
(x86)\MATLAB\R2010a\toolbox\matlab\uitools\clipboard.m
is a case-insensitive match and will be used
instead.
You can improve the performance of your code by
using exact
name matches and we therefore recommend that you
update your
usage accordingly. Alternatively, you can disable
this warning using
warning('off','MATLAB:dispatcher:InexactCaseMatch').
This warning will become an error in future
releases.
??? Error using ==> clipboard at 30
Not enough input arguments.
好像是Matlab中的clipboard跟上面所说的Clipboard还不一样,请前辈教我.
2.hgexport函数,
这个函数似乎只是将窗口中的坐标轴对象复制到word或者excel中,而并不能够复制到剪贴板中,请问有没有什么办法将图片或者已经存在的txt文档在Matlab环境下复制到剪贴板中呢?