C#中object类型输出

shiftqiang 2007-06-08 10:55:38
请教大家一个问题,object类型输出:
object result;(里面是图像数据)现在我想把图像显示在picturebox1中,怎么搞?
result是调用com后得到的。
是这样调用的:
t.test(1,ref result,filename);
其中t是实例。
test接口如下:
void test(
[in] long nargout,
[in, out] VARIANT* result,
[in] VARIANT filename);
多谢了!
...全文
1082 21 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenchengsong 2008-09-03
  • 打赏
  • 举报
回复
我先接个分,我分不多了
shiftqiang 2007-06-09
  • 打赏
  • 举报
回复
liuchan98——你有没有那方便的资料,发给我看下吧,zhaoxueqiang2005@163.com.我还没有见过那样的资料,非常感谢。
liuchuan98 2007-06-09
  • 打赏
  • 举报
回复
直接调用MATLAB执行吧
MATLAB7.2版本后提供了.NET Builder,可以将M文件直接转为C#的dll
soaringbird 2007-06-08
  • 打赏
  • 举报
回复
VARIANT*的本机代码和托管代码之间的转换不能直接转换的,你试试通过某种方式把里面的内容复制到byte[]中
shiftqiang 2007-06-08
  • 打赏
  • 举报
回复
还有没有其他方法,现在急用,多谢了。
shiftqiang 2007-06-08
  • 打赏
  • 举报
回复
我试验了,提示:指定的转换无效,不过多谢。
soaringbird 2007-06-08
  • 打赏
  • 举报
回复
那如果真是类型是byte[],而且数据格式是JPG、BMP等,那你试试把这个result按byte[]加载到一个MemoryStream,然后再显示,如:
MemoryStream ms = new MemoryStream((byte[])result);
pictureBox1.Image = Image.FromStream(ms);
如果这样不成,那你还需要研究那个result数据的详细格式了
wenbin 2007-06-08
  • 打赏
  • 举报
回复
希望LZ能搞定,我是没弄成过
从C到C#传图象的数据,弄得人头晕
数据还是对不上
shiftqiang 2007-06-08
  • 打赏
  • 举报
回复
大哥,说了吗,result里面是图像数据——图像矩阵
soaringbird 2007-06-08
  • 打赏
  • 举报
回复
这个你要看看test接口的详细说明,看看result到底是什么样的数据。
你光问object类型怎么输出是没有意义的。
shiftqiang 2007-06-08
  • 打赏
  • 举报
回复
问题比较急,自己顶下,希望帮忙解决,多谢!
shiftqiang 2007-06-08
  • 打赏
  • 举报
回复
哦,那个com是Matlab里面做的
soaringbird 2007-06-08
  • 打赏
  • 举报
回复
看不出来呀,你还是找找你那个com组件的文档吧
shiftqiang 2007-06-08
  • 打赏
  • 举报
回复
第一维:75.5,7.5875(2项)--然后到22项——1.0(22项),75.5(23项),32.4(24项)——
第二维:255——200的数据比较多,
麻烦你看看能不能看出什么东西来,多谢了
shiftqiang 2007-06-08
  • 打赏
  • 举报
回复
那这就有点难搞了,我对图像的不是很熟,郁闷
soaringbird 2007-06-08
  • 打赏
  • 举报
回复
你先得弄清楚数组的两个维都表示什么,元素的值代表了颜色的什么意义等
shiftqiang 2007-06-08
  • 打赏
  • 举报
回复
soaringbird,你有什么方法可以来处理吗?非常感谢
soaringbird 2007-06-08
  • 打赏
  • 举报
回复
你的数据内容显然不是标准格式的图像数据流了,而是自定义的,所以,你要了解每一维元素的意义
shiftqiang 2007-06-08
  • 打赏
  • 举报
回复
那转换后怎么在picturebox中显示成图像呢,多谢了
impeller 2007-06-08
  • 打赏
  • 举报
回复
那就是二维的double数组了
可以这样转 double[,] array = (double[,])result;
加载更多回复(1)

111,093

社区成员

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

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

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