在winform中从sqlserver2000 image类型字段读取图片出错,不知道怎么办了,急啊,明天就要交给客户的东西

mycarnation 2006-03-16 11:27:13
在winform中从sqlserver2000 image类型字段读取图片出错,不知道怎么办了,急啊,明天就要交给客户的东西
以下是原代码:
//读取图片
MemoryStream ms = new MemoryStream(((byte[])this.drobj["photo"]));
if(ms.Length !=0)
{
Image image = Image.FromStream(ms,true);
this.picturebox.Image = image;
}
以下是出错信息
未处理的“System.ArgumentException”类型的异常出现在 system.drawing.dll 中。

其他信息: 使用了无效参数。

help me !!!!!!!
...全文
298 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
mycarnation 2006-03-21
  • 打赏
  • 举报
回复
问题已解决,谢谢了!
jietuan 2006-03-20
  • 打赏
  • 举报
回复
byte[] img=(byte[])ds.Tables[0].Rows[0]["Photo"];
MemoryStream a=new MemoryStream(img);
//Image a=new Image();
//Bit
//Bitmap a=new Bitmap(a);
Image b=Image.FromStream(a);
this.pictureBox1.Image=b;
this.pictureBox1.Refresh();
zjonah 2006-03-20
  • 打赏
  • 举报
回复
byte[] myByteArray = (byte[])myPhotoDataSet.Tables[0].Rows[currentPage]["PhotoID"];
if (myByteArray.Length > 0)
{
MemoryStream myStream = new MemoryStream(myByteArray, true);
myStream.Write(myByteArray, 0, myByteArray.Length);

Bitmap FinalImage = new Bitmap(myStream);

photographPictureBox.Image = FinalImage;
Total.Text = "该阀门共有图片" + myPhotoDataSet.Tables[0].Rows.Count + "张,目前显示第" + (currentPage + 1) + "张";
myStream.Close();
}
hy98521 2006-03-20
  • 打赏
  • 举报
回复
是不是原因出在BYTE[] 数组的长度上。 就算是数组也会有个最大的下标限制。
我没有做过这样的事情。 只是猜测
mycarnation 2006-03-20
  • 打赏
  • 举报
回复
谁帮我解决了问题,我给200分
mycarnation 2006-03-20
  • 打赏
  • 举报
回复
都试过了,没用
huoyan999 2006-03-17
  • 打赏
  • 举报
回复
byte[] imgbyte = (byte[])dt.Rows[0]["soh_stamp"];
MemoryStream mstr=new MemoryStream(bytPic);
if(mstr.Length>0)
{
this.pictureBox1.Image =Image.FromStream(mstr);
}
BQY 2006-03-16
  • 打赏
  • 举报
回复
将FromImage的第二个参数设置为false试试。
mycarnation 2006-03-16
  • 打赏
  • 举报
回复
这和我的代码一样啊,没区别
kqh0319 2006-03-16
  • 打赏
  • 举报
回复

try{
}
catch(Exception exxx)
{
System.Console.WriteLine(exxx.message);
}
看看具體是什麼錯誤?
using System.Drawing.Imaging;
要不把這個加進去看看。。


給你個例子參考:
byte[] imgbyte = (byte[])dt.Rows[0]["soh_stamp"];
this.pictureBox1.Image = System.Drawing.Image.FromStream(new System.IO.MemoryStream(imgbyte));

lxjlz 2006-03-16
  • 打赏
  • 举报
回复
沙發
mycarnation 2006-03-16
  • 打赏
  • 举报
回复
试过了,没用
内容概要:本文档详细介绍了基于非线性反步法与Lyapunov函数相结合的模型预测控制(Lyapunov-MPC)在自主水下航行器(AUV)轨迹跟踪的应用,涵盖经典的Fossen六自由度动力学建模。研究通过融合反步法的系统化递推设计优势与MPC的滚动优化及约束处理能力,构建了一种高性能、强鲁棒性的复合控制策略,有效提升了AUV在复杂海洋环境下的轨迹跟踪精度与系统稳定性。文档提供了完整的Matlab代码实现方案,适用于高水平学术论文(如SCI一区)的复现与科研验证,具有较强的理论深度与工程实践价值。; 适合人群:具备自动控制理论、非线性系统分析、现代控制方法(如反步法、李雅普诺夫稳定性理论、MPC)基础,并熟悉Matlab/Simulink仿真工具的研究生、科研人员及从事水下机器人、无人系统控制开发的工程技术人员。; 使用场景及目标:①用于高精度AUV轨迹跟踪控制系统的设计与仿真验证;②深入学习和掌握非线性反步法的设计流程、Lyapunov稳定性分析方法及其与MPC框架的集成技巧;③服务于高水平学术论文的复现、算法对比与技术创新研究,推动水下航行器智能控制技术的发展。; 阅读建议:建议读者首先深入理解Fossen动力学模型的物理意义与数学表达,重点剖析反步法的虚拟控制量构造与李雅普诺夫函数的设计思路,进而研究如何将稳定性条件融入MPC的优化目标。务必结合所提供的Matlab代码进行逐行调试与参数敏感性分析,通过仿真实验直观感受不同海况与初始偏差下的控制性能,从而深刻理解理论设计与实际效果之间的内在联系。

111,129

社区成员

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

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

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