新生成一个TJPEGImage类的数据,然后如下:
TJPEGImage * pImage=new TJPEGImage();
pImage->Assign(pBitmap);
pImage->SaveToFile("D:\Temp.jpg");
delete pImage;
这是BCB的语法,将其该成Delphi的语法即可。

解决方案 »

  1.   

    uses Jpeg;  private
      Jpg:TJpegImage;Bmp:Tbitmap;procedure Tjpg_bmp.Button3Click(Sender: TObject);
    begin
    if bmp<>nil then bmp:=nil;
      Opendialog1.Filter:='Bitmap(*.bmp)|*.bmp';
      Opendialog1.DefaultExt:='*.Bmp';
      Opendialog1.Filename:='';
     opendialog1.Execute;
     if Opendialog1.Filename<>'' then
      begin
      Bmp:=TBitmap.Create;
      Bmp.LoadFromFile(Opendialog1.FileName);
      Image1.Picture.LoadFromFile(Opendialog1.FileName);
      end;
    end;
    procedure Tjpg_bmp.Button4Click(Sender: TObject);
    begin
    if jpg<>nil then jpg:=nil;
    Savedialog1.filename:='';
    Savedialog1.Filter:='Jpeg(*.jpg)|*.jpg';
    Savedialog1.DefaultExt:='*.jpg';
    SaveDialog1.Execute;
    if Savedialog1.filename<>'' then
    begin
     Jpg:=TJpegImage.Create;
     Jpg.Assign(Bmp);
     Jpg.CompressionQuality:=StrToInt(Edit1.Text);
     Jpg.Compress;
     Jpg.SaveToFile(Savedialog1.FileName);
     Jpg.Free;
    end;
    end;
      

  2.   

    唉。前两位朋友已经说得很完全,没有什么好补充的了。
    TBitmap 和TJPEGImage 都继承自TGraphics,相互赋值都很方便。