function JpegToBmp(mJPEGImage: TJPEGImage; mBitmap: TBitmap): Boolean;
begin
  Result := True;
  try
    mBitmap.Assign(mJPEGImage);
  except
    Result := False;
  end;
end; { JpegToBmp }function BmpToJpeg(mBitmap: TBitmap; mJPEGImage: TJPEGImage;
  mCompressionQuality: Integer = 75): Boolean;
//~~~~~~~~~~~~~~~~~~~it's
begin
  Result := True;
  try
    mJPEGImage.Assign(mBitmap);
    mJPEGImage.CompressionQuality := mCompressionQuality;
    mJPEGImage.Compress;
  except
    Result := False;
  end;
end; { BmpToJpeg }var
  vJPEGImage: TJPEGImage;
begin
  vJPEGImage := TJPEGImage.Create;
  try
    TJPEGImage(Image3.Picture).Assign(nil);
    BmpToJpeg(Image1.Picture.Bitmap, vJPEGImage, SpinEdit1.Value);
    TJPEGImage(Image3.Picture).Assign(vJPEGImage);
  finally
    vJPEGImage.Free;
  end;
end;

解决方案 »

  1.   

    var
    myjep:tjpegimage;
        fullscreen:tbitmap;
        fullscreencanvas:tcanvas;
        dc:hdc;begin
        fullscreen:=tbitmap.Create;
        fullscreen.Width:=screen.Width;
        fullscreen.Height:=screen.Height;
        dc:=getdc(0);
        fullscreencanvas:=tcanvas.Create;
        fullscreencanvas.Handle:=dc;
        fullscreen.Canvas.CopyRect(rect(0,0,screen.width,screen.height),fullscreencanvas,rect(0,0,screen.width,screen.height));
        fullscreencanvas.Free;
        releasedc(0,dc);
        image1.Picture.Bitmap:=fullscreen;
        fullscreen.Free;
        //save
        myjep:=Tjpegimage.create;
        myjep.assign(image1.Picture.Bitmap);
        myjep.CompressionQuality:=10;  //改变数值的地方
        myjep.SaveToFile('c:\you.jpg');
        myjep.Destroy;
     end;这样也可以