MS:=TBlobStream.Create(DM.ATFinger.FieldByName('FINGER') as TBlobField , bmReadWrite);
MS.WriteBuffer(FRegTemplate, $401);
MS.Free;

解决方案 »

  1.   

    //保存
    procedure TForm1.ImageIntoDBBitBtnClick(Sender: TObject);
    begin
      try
        with Query1 do
          begin
            close;
            sql.clear;
            sql.add('insert into img (imga) values(:imag)');
          end;
        try
          if FileName<>'' then
            ParamByName('Img').LoadfromFile(FileName,ftGraphic)
          else
            ParamByName('Img') .asBlob:='';
          Query1.ExecSQL;
        except
          ShowMessage('图片保存出错!');
          exit;
        end;
      except
      end;
    end;//读取
    procedure TForm1.ImageFromDBBitBtnClick(Sender: TObject);
    var
      m_jpegstream:tmemorystream;
    begin
      with Query1 do
      begin
        close;
        sql.clear;
        sql.Add('select imga from img');
        try
          Open;
        except
          exit;
        end;
      end;
      if (Query1.FieldByName('imga') as tblobfield).asstring='' then
      begin
        exit;
      end
      else
      begin
        try
        try
          m_jpegStream:=TMemoryStream.Create;
          (Query1.fieldbyname('imga') as TBlobField).SaveToStream(m_JpegStream);
          m_JpegStream.Position:=0;
          try
            image2.Picture.Graphic:=nil;
            image2.Picture.Graphic:=TJpegImage.Create;
            image2.Picture.Graphic.LoadFromStream(m_JpegStream);  //读Jpeg
          except
            Image2.Picture.Bitmap.LoadFromStream(m_JpegStream);  //读Bmp
          end;
        except
        end;
        finally
          m_JpegStream.Free;
          Query1.Close;
          Query1.UnPrepare;
        end;
      end;
    end;//BMP转换为JPG
    procedure TStuXXSLForm.LoadImageBitBtnClick(Sender: TObject);
    var
      MyJpeg:TJpegImage;
    begin
      inherited;
      if OpenPictureDialog1.Execute then
      begin
        FileName:=OpenPictureDialog1.FileName;
        Image1.Picture.LoadFromFile(FileName);
        if ExtractFileExt(FileName)='.Bmp' then
        begin
          MyJpeg:= TJpegImage.Create;
          MyJpeg.Assign(Image1.Picture.Bitmap);
          FileName:='Photo.Jpg';
          MyJpeg.SaveToFile(FileName);
          MyJpeg.Free;
        end;
      end;
    end;