Image1.Picture.Bitmap.Assign(t_jpg) 错误JpeG Error #42

guanglin522 2010-01-16 02:39:43
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject;AData: TStream; ABinding: TIdSocketHandle);
var
t_jpg:TJpegImage;
t_ms:Tmemorystream;

begin
try

try
t_ms:=Tmemorystream.Create;
t_jpg:=Tjpegimage.Create ;
t_ms.LoadFromStream(Adata);
t_jpg.LoadFromStream(t_ms) ;
t_jpg.JPEGNeeded;

Image1.Picture :=nil;
Image1.Picture.Bitmap.Assign(t_jpg);//《---在这里出错,
finally
t_ms.Free;
t_jpg.Free;
end;

except
end;
end;
高手麻烦帮解决下
...全文
1254 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
guanglin522 2010-01-22
  • 打赏
  • 举报
回复
我知道错误原因了,是服务器发送有误,可我不知道怎么改了,课设交了,以后有时间慢慢再做
散分
wooden954 2010-01-20
  • 打赏
  • 举报
回复
8楼和11楼的办法是正确的。
因为Image.Picuture.bitmap的类型是TBitmap的,与你的Jpeg类型不匹配。
而Image.Picture是TCanvas类型的,与Jpeg是同一类型,可以赋值
buding79 2010-01-19
  • 打赏
  • 举报
回复
//建议你把 jpg转换为bmp,之后直接赋值就可以了
//jpg图片转化为bmp图片
function JpgToBmp(jpg:tjpegImage;Var bmp:TBitmap):boolean;
begin
result:=true;
try
Bmp.Assign(jpg);
except
result:=false;
end;
end;

//之后
imgsource.Picture.Bitmap:=bitmap;
//就可以了
imho888 2010-01-18
  • 打赏
  • 举报
回复
Image1.Picture.Assign(t_jpg);//
7年 2010-01-18
  • 打赏
  • 举报
回复
引用JPEG了么
swayi21 2010-01-18
  • 打赏
  • 举报
回复
Image1.Picture.Bitmap.Assign(t_jpg);
类型不对吧
acridin 2010-01-18
  • 打赏
  • 举报
回复
up
magicjove 2010-01-18
  • 打赏
  • 举报
回复

image1.Picture.Assign(Jpg); //即可
magicjove 2010-01-18
  • 打赏
  • 举报
回复

t_ms.position= 0;
t_ms.LoadFromStream(Adata);
t_jpg.LoadFromStream(t_ms);

huangheguyun 2010-01-18
  • 打赏
  • 举报
回复
引用JPEG了吗?或者有没有定义格式?
dd_zhouqian 2010-01-17
  • 打赏
  • 举报
回复
楼主找几张图片用loadfromfile试试
CCC的 2010-01-16
  • 打赏
  • 举报
回复
不行的话,可能是你客户端上床的图片有问题,或者是流的大小为0,
if adata.size = 0 then exit; 加上判断
t_ms.LoadFromStream(Adata);
t_ms.Seek(0,soBeginning); //加上这句试试
t_jpg.LoadFromStream(t_ms) ;
t_jpg.JPEGNeeded;
Frank.WU 2010-01-16
  • 打赏
  • 举报
回复

先判断一下jpg的文件头看是不是真正的jpg,否则白忙。
guanglin522 2010-01-16
  • 打赏
  • 举报
回复
不行啊,谁能帮我改改错啊,
我qq171482524
一个网路视频传输的实验
CCC的 2010-01-16
  • 打赏
  • 举报
回复
应装载JPG的时候流的顺序乱掉了

t_ms.LoadFromStream(Adata);
t_ms.Seek(0,soBeginning); //加上这句试试
t_jpg.LoadFromStream(t_ms) ;
t_jpg.JPEGNeeded;

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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