也许这个问题问烂了,但我的确只会把BMP图直接通过DBIMAGE控件放入数据库中,这样的话,数据会太大的,放入JPEG会好很多的,不是吗?

解决方案 »

  1.   

    var
      jpg: TJpegImage;
      ms: TMemoryStream;
    begin
      jpg := TJpegImage.Create;
      ms := TMemoryStream.Create;
      try
        jpg.Assign(Image1.Picture.Bitmap);
        jpg.SaveToStream(ms);
        ms.Position := 0;
        (table1.FieldByName('jpg') As TBlobField).LoadFromStream(ms);
      finally
        jp.Free;
        ms.Free;
      end;
    end;
      

  2.   

    procedure TfrmMain.ToolButton9Click(Sender: TObject);
    var
      j:TJPEGImage;
      b:TBitmap;
    begin
      b:=tbitmap.Create;
      b.LoadFromFile('c:\23232.bmp');
      j:=tjpegImage.Create;
      j.Assign(b);
      j.SaveToFile('c:\1.jpg');
      b.free;
    存入
      tblobfield(table1.fieldbyname('image')).loadfromfile('c:\1.jpg);
      j.free;end;
    tblobfield(table1.fieldbyname('image'))loadfromfile .loadfromstream
    savetofile savetostream