紧急求助!将matlab中生成的图像传递给.net对象?

zfking 2009-05-03 08:33:39
现在使用C#调用matlab编译的.net assembly 程序集,目前实现的功能是,在matlab中生成了图片并保存到了剪粘板,代码如下:
h_fig = figure('Visible', 'off');
plot(x,y); %你的画图语句
print(gcf,'-dmeta');%保存到剪贴板 ,emf图像格式
close(h_fig ); %关闭figure,清空内存

然后在.net中从剪粘板得到图像,这样会有两个个问题:
1.破坏了剪粘板中原有的数据
2.不能并发执行

各位高手能否解决将matlab中生成的图像传递给.net对象?
当然还有一种方法就是在matlab中用imwrite将图像输出到文件,在.net中读这个文件,但是这样速度慢,而且并发也不好
是否可以将图像的数据保存到内存中,然后将数据传给.net,再重构图像,但是我在matlab中找不到怎么将图像保存的内存变量里的函数
...全文
210 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
supermcjt 2009-05-05
  • 打赏
  • 举报
回复
用Remoting可以的.
真相重于对错 2009-05-05
  • 打赏
  • 举报
回复
gdi+
支持emf
zfking 2009-05-03
  • 打赏
  • 举报
回复
当然有一个变态的解决方法:使用RAMdisk将内存虚拟成硬盘使用,可提高速度,读写文件速度提高至少在1000倍以上
在matlab中生成具有唯一性文件名(如guid)的文件存入RAMdisk,将这个文件名传递给.net程序,然后再读取文件。
不过这个解决方案发布程序时比较麻烦。
zfking 2009-05-03
  • 打赏
  • 举报
回复
建议大家有空研究一下matlab,在处理复杂数据计算,如回归分析,矩阵计算等等,可以直接调用matlab实现,当然还有更强大的功能,如仿真,3D图形,分布图,神经网络处理等等。
zfking 2009-05-03
  • 打赏
  • 举报
回复
和我说的问题一样啊,要写文件,在并发时
一个是文件名的处理问题以及清除这些临时文件的问题,另一个就是速度问题
benbenRH 2009-05-03
  • 打赏
  • 举报
回复
真的没有办法时的办法,
先把matlab的图像保存下来,再用.net调用它,设计个计时器,每隔一定时间就看看时候文件已经准备好!

汗!!!
zfking 2009-05-03
  • 打赏
  • 举报
回复
悲哀啊!!!!!!!!!!!!!!!!!!!!
zfking 2009-05-03
  • 打赏
  • 举报
回复
大大大大大大大大大
zfking 2009-05-03
  • 打赏
  • 举报
回复
ddddddddddddddddddddd

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧