//保存
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;