抓来用ACDSee或Photoshop另存成*.jpg即可

解决方案 »

  1.   

    //将屏幕数据以 JPG 格式保存到内存流中procedure SaveScrToStream(AStream: TMemoryStream; Quality: byte);
    var
      scrWidth, scrHeight: integer;
      DC: hDC;
      FBitmap: TBitmap;
      FJPEGImage: TJPEGImage;
    begin
      DC := GetDC(0);
      FBitmap := TBitmap.Create;
      FJPEGImage := TJPEGImage.Create;
      try
        scrWidth := GetSystemMetrics(SM_CXVIRTUALSCREEN);
        scrHeight := GetSystemMetrics(SM_CYVIRTUALSCREEN);    FBitmap.Width := scrWidth;
        FBitmap.Height := scrHeight;
        BitBlt(FBitmap.Canvas.Handle, 0, 0, scrWidth, scrHeight, DC, 0, 0, SRCCOPY);    FJPEGImage.Assign(FBitmap);
        FJPEGImage.CompressionQuality := Quality;
        FJPEGImage.Compress;    AStream.Clear;
        FJPEGImage.SaveToStream(AStream);
        AStream.Position := 0;
      finally
        FBitmap.Free;
        FJPEGImage.Free;
        ReleaseDC(0, DC);
      end;
    end;
      

  2.   

    1:
    设置BMP.PixelFormat即可,设置低一点儿的格式即可.
    2:
    我贴过一片文章,请搜索"图片分辨率"
      

  3.   


    TCanvas.StretchDraw 缩放画图
      

  4.   

    谢谢Kingron,我刚刚给你发了email。
    还有 就是为什么要戒网呢?
      

  5.   

    决定图象质量和大小关键在这里
    jpg:TJpegImage
    //////////////////////////////////////////////////////////////////////////////////
    jpg.CompressionQuality:=30;
    值30可以随你设定的,设置为30图象还算不错。你可以自己去试一试。