请问如何在delphi7中显示由摄像头传输过来的十六进制?
用什么具体的组件?代码?希望知道的人回答下谢谢,我分数剩的不多,但是会给分的,我做毕设的,急需正确的回答,谢谢了!

解决方案 »

  1.   

    接收到数据流,然后逐个字节的读出来,然后用BinToHex转为字符显示出来
      

  2.   

    你好,
    能具体点吗?   ms:tmemorystream;
        jpeg:tjpegimage;
    begin
        ms:=tmemorystream.Create;
          jpeg:=TJPEGIMAGE.Create;
       // strsql:='insert into image2(image)values(:bBlob)';
           memo1.text:=LAST;
           showmessage(memo1.Lines[0]);
           MEMO1.lines.SaveToStream(ms);
           ms.Position:=0;
           //mmreceive.Lines.LoadFromStream(ms);//能够显示图像数据的十六进制
           showmessage('111');
           //ms.SaveToFile('D:\DELPHI7AZML\JIANJIAN2.JPG');
           jpeg.loadfromstream(ms);
          // jpeg.SaveToStream(ms);
          // mmreceive.lines.LoadFromStream(ms);
           //jpeg.SaveToFile('d:\DELPHI7AZML\JJJPEG.JPG');
           //image1.Picture.Bitmap.Assign(jpeg); //出现JPEG ERROR #42 错误提示
          jpeg.Free;
           ms.Free;
    这是我的代码,出现JPEG ERROR #53的错误,但是我我用memo组件检查过ms数据流中的数据发现没错的,为什么呢?
      

  3.   

    不好意思,
    我不是要显示十六进制,而是要显示由一串经过JPEG编码后的十六进制表示的jpeg格式的图像?
    十六进制的数据时这样的:
    FFD8FFE00011。。801D450052E280128A314B8CD007FFD9
    希望能得到解答,弄了一天了还没有结果,急,找资料也没有相关的介绍
      

  4.   

    可以看看下面的链接,里面是将十六进制png数据流还原成png图像,里面的tpngimage可以替换成tjpegimage
    http://www.cnblogs.com/del/archive/2011/04/26/2029860.html
      

  5.   


    jpg2hex行,但是hextojpg就不行,出现jpeg error #51
    请问是为什么啊?弄了一天了procedure tform1.hex2jpg(str:string;out jpg:tjpegimage);
    var
    stream:tmemorystream;begin
          if not assigned(jpg) then jpg:=tjpegimage.create;
          stream:=tmemorystream.create;
          stream.setsize(length(str)div 2);
          hextobin(pchar(str),stream.memory,stream.size);
          jpg.loadfromstream(stream);
          stream.free;
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
      jpg:tjpegimage;
    begin
            jpg:=tjpegimage.Create;
            hex2jpg(memo1.text,jpg);
            canvas.draw(0,0,jpg);
            jpg.free;
    end;function tform1.jpg2hex(jpg:tjpegimage):string;
    var
        stream:tmemorystream;
    begin
                stream:=tmemorystream.Create;
                jpg.SaveToStream(stream);
                setlength(result,stream.size * 2);
                bintohex(stream.Memory,pchar(result),stream.size);
                stream.free;
    end;procedure TForm1.Button2Click(Sender: TObject);
    var
        jpg:tjpegimage;
    begin
        jpg:=tjpegimage.Create;
        jpg.loadfromfile('d:\2011.jpg');
        memo1.text:=jpg2hex(jpg);
        jpg.Free;end;end.
      

  6.   


    var
      Form1: TForm1;
      str:String;
    implementation{$R *.dfm}
    procedure tform1.hex2jpg(str:string;out jpg:tjpegimage);
    var
    stream:tmemorystream;begin
      if not assigned(jpg) then jpg:=tjpegimage.create;
      stream:=tmemorystream.create;
      stream.setsize(length(str)div 2);
      hextobin(pchar(str),stream.memory,stream.size);
      jpg.loadfromstream(stream);
      stream.free;
    end;function tform1.jpg2hex(jpg:tjpegimage):string;
    var
      stream:tmemorystream;
    begin
      stream:=tmemorystream.Create;
      jpg.SaveToStream(stream);
      setlength(result,stream.size * 2);
      bintohex(stream.Memory,pchar(result),stream.size);
      stream.free;
    end;procedure TForm1.Button2Click(Sender: TObject);
    var
      jpg:tjpegimage;
    begin
      jpg:=tjpegimage.Create;
      hex2jpg(str,jpg);
      jpg.SaveToFile('c:\test.jpg');
      Image1.Canvas.Draw(0,0,jpg);
      jpg.free;
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
      jpg:TJPEGImage;
    begin
      jpg:=TJPEGImage.Create;
      jpg.LoadFromFile('C:\Documents and Settings\All Users\Documents\My Pictures\示例图片\Winter.jpg');
      str:=jpg2hex(jpg);
    end;我用的可以啊