⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vpdfjpeglib.pas

📁 生成PDF文档的控件
💻 PAS
📖 第 1 页 / 共 2 页
字号:
    Coef: PRJpegCCoefController;
    Marker: PRJpegMarkerWriter;
    CConvert: PRJpegColorConverter;
    Downsample: PRJpegDownsampler;
    FDct: PRJpegForwardDct;
    Entropy: PRJpegEntropyEncoder;
    ScriptSpace: PRJpegScanInfo;
    ScriptSpaceSize: Integer;
  end;
  RJpegDecompressStruct = record
    Err: PRJpegErrorMgr;
    Mem: PRJpegMemoryMgr;
    Progress: PRJpegProgressMgr;
    ClientData: Pointer;
    IsDecompressor: Boolean;
    GlobalState: Integer;
    Src: PRJpegSourceMgr;
    ImageWidth: Cardinal;
    ImageHeight: Cardinal;
    NumComponents: Integer;
    JpegColorSpace: Integer;
    OutColorSpace: Integer;
    ScaleNum, ScaleDenom: Cardinal;
    OutputGamme: Double;
    BufferedImage: Boolean;
    RawDataOut: Boolean;
    DctMethod: Integer;
    DoFancyUpsampling: Boolean;
    DoBlockSmoothing: Boolean;
    QuantizeColors: Boolean;
    DitherMode: Integer;
    TwoPassQuantize: Boolean;
    DesiredNumberOfColors: Integer;
    Enable1PassQuant: Boolean;
    EnableExternalQuant: Boolean;
    Enable2PassQuant: Boolean;
    OutputWidth: Cardinal;
    OutputHeight: Cardinal;
    OutColorComponents: Integer;
    OutputComponents: Integer;
    RecOutbufHeight: Integer;
    ActualNumberOfColors: Integer;
    Colormap: Pointer;
    OutputScanline: Cardinal;
    InputScanNumber: Integer;
    InputIMcuRow: Cardinal;
    OutputScanNumber: Integer;
    OutputIMcuRow: Cardinal;
    CoefBits: Pointer;
    QuantTblPtrs: array[0..NUM_QUANT_TBLS - 1] of Pointer;
    DcHuffTblPtrs: array[0..NUM_HUFF_TBLS - 1] of Pointer;
    AcHuffTblPtrs: array[0..NUM_HUFF_TBLS - 1] of Pointer;
    DataPrecision: Integer;
    CompInfo: PRJpegComponentInfo;
    ProgressiveMode: Boolean;
    ArithCode: Boolean;
    ArithDcL: array[0..NUM_ARITH_TBLS - 1] of Byte;
    ArithDcY: array[0..NUM_ARITH_TBLS - 1] of Byte;
    ArithAcK: array[0..NUM_ARITH_TBLS - 1] of Byte;
    RestartInterval: Cardinal;
    SawJfifMarker: Boolean;
    JfifMajorVersion: Byte;
    JfifMinorVersion: Byte;
    XDensity: Word;
    YDensity: Word;
    SawAdobeMarker: Boolean;
    AdobeTransform: Byte;
    Ccir601Sampling: Boolean;
    MarkerList: PRJpegSavedMarker;
    MaxHSampFactor: Integer;
    MaxVSampFactor: Integer;
    MinDctScaledSize: Integer;
    TotalIMcuRows: Cardinal;
    SampleRangeLimit: Pointer;
    CompsInScan: Integer;
    CurCompInfo: array[0..MAX_COMPS_IN_SCAN - 1] of PRJpegComponentInfo;
    McusPerRow: Cardinal;
    McuRowsInScan: Cardinal;
    BlocksInMcu: Integer;
    McuMembership: array[0..D_MAX_BLOCKS_IN_MCU - 1] of Integer;
    Ss, Se, Ah, Al: Integer;
    UnreadMarker: Integer;
    Master: PRJpegDecompMaster;
    Main: PRJpegDMainController;
    Coef: PRJpegDCoefController;
    Post: PRJpegDPosController;
    InputCtl: PRJpegInputController;
    Marker: PRJpegMarkerReader;
    Entropy: PRJpegEntropyDecoder;
    IDct: PRJpegInverseDct;
    Upsample: PRJpegUpsampler;
    CConvert: PRJpegColorDeconverter;
    CQuantize: PRJpegColorQuantizer;
  end;
procedure jpeg_create_compress(cinfo: PRJpegCompressStruct); cdecl;
procedure jpeg_CreateCompress(cinfo: PRJpegCompressStruct; version: Integer; structsize: Cardinal); cdecl; external;
procedure jpeg_create_decompress(cinfo: PRJpegDecompressStruct); cdecl;
procedure jpeg_CreateDecompress(cinfo: PRJpegDecompressStruct; version: Integer; structsize: Cardinal); cdecl; external;
procedure jpeg_abort(cinfo: PRJpegCommonStruct); cdecl; external;
procedure jpeg_set_defaults(cinfo: PRJpegCompressStruct); cdecl; external;
procedure jpeg_set_colorspace(cinfo: PRJpegCompressStruct; colorspace: Integer); cdecl; external;
procedure jpeg_set_quality(cinfo: PRJpegCompressStruct; quality: Integer; force_baseline: Byte); cdecl; external;
procedure jpeg_suppress_tables(cinfo: PRJpegCompressStruct; suppress: Byte); cdecl; external;
procedure jpeg_start_compress(cinfo: PRJpegCompressStruct; write_all_tables: Byte); cdecl; external;
function jpeg_write_scanlines(cinfo: PRJpegCompressStruct; scanlines: PPointer; num_lines: Cardinal): Cardinal; cdecl; external;
function jpeg_write_raw_data(cinfo: PRJpegCompressStruct; data: Pointer; num_lines: Cardinal): Cardinal; cdecl; external;
procedure jpeg_finish_compress(cinfo: PRJpegCompressStruct); cdecl; external;
procedure jpeg_write_tables(cinfo: PRJpegCompressStruct); cdecl; external;
function jpeg_read_header(cinfo: PRJpegDecompressStruct; require_image: Boolean): Integer; cdecl; external;
function jpeg_start_decompress(cinfo: PRJpegDecompressStruct): Byte; cdecl; external;
function jpeg_read_scanlines(cinfo: PRJpegDecompressStruct; scanlines: Pointer; max_lines: Cardinal): Cardinal; cdecl; external;
function jpeg_read_raw_data(cinfo: PRJpegDecompressStruct; data: Pointer; max_lines: Cardinal): Cardinal; cdecl; external;
function jpeg_finish_decompress(cinfo: PRJpegDecompressStruct): Byte; cdecl; external;
procedure jpeg_destroy(cinfo: PRJpegCommonStruct); cdecl; external;
function jpeg_std_error(err: PRJpegErrorMgr): Pointer; cdecl; external;
function jpeg_resync_to_restart(cinfo: PRJpegDecompressStruct; desired: Integer): Byte; cdecl; external;

implementation

uses
  VPDFCLibs;

procedure jpeg_error_exit_raise; cdecl;
begin
  raise Exception.Create('LibJpeg error_exit');
end;

procedure jpeg_create_compress(cinfo: PRJpegCompressStruct); cdecl;
begin
  jpeg_CreateCompress(cinfo, JPEG_LIB_VERSION, SizeOf(RJpegCompressStruct));
end;

procedure jpeg_create_decompress(cinfo: PRJpegDecompressStruct); cdecl;
begin
  jpeg_CreateDecompress(cinfo, JPEG_LIB_VERSION, SizeOf(RJpegDecompressStruct));
end;

function jpeg_get_small(cinfo: PRJpegCommonStruct; sizeofobject: Cardinal): Pointer; cdecl; external;

function jpeg_get_large(cinfo: PRJpegCommonStruct; sizeofobject: Cardinal): Pointer; cdecl; external;

function jpeg_mem_available(cinfo: PRJpegCommonStruct; min_bytes_needed: Integer; max_bytes_needed: Integer; already_allocated: Integer): Integer; cdecl; external;

procedure jpeg_open_backing_store(cinfo: PRJpegCommonStruct; info: Pointer; total_bytes_needed: Integer); cdecl; external;

procedure jpeg_free_large(cinfo: PRJpegCommonStruct; objectt: Pointer; sizeofobject: Cardinal); cdecl; external;

procedure jpeg_free_small(cinfo: PRJpegCommonStruct; objectt: Pointer; sizeofobject: Cardinal); cdecl; external;

procedure jpeg_mem_term(cinfo: PRJpegCommonStruct); cdecl; external;

function jpeg_mem_init(cinfo: PRJpegCommonStruct): Integer; cdecl; external;
{$L ..\..\Objs\Jpeg\jmemnobs.obj}

procedure jinit_memory_mgr(cinfo: PRJpegCommonStruct); cdecl; external;
{$L ..\..\Objs\Jpeg\jmemmgr.obj}

function jpeg_alloc_huff_table(cinfo: PRJpegCommonStruct): Pointer; cdecl; external;

function jpeg_alloc_quant_table(cinfo: PRJpegCommonStruct): Pointer; cdecl; external;
{$L ..\..\Objs\Jpeg\jcomapi.obj}
{$L ..\..\Objs\Jpeg\jerror.obj}
{$L ..\..\Objs\Jpeg\jcapimin.obj}
{$L ..\..\Objs\Jpeg\jcmarker.obj}

function jdiv_round_up(a: Integer; b: Integer): Integer; cdecl; external;

procedure jcopy_sample_rows(input_array: Pointer; source_row: Integer; output_array: Pointer; dest_row: Integer; num_rows: Integer;
  num_cols: Cardinal); cdecl; external;

function jround_up(a: Integer; b: Integer): Integer; cdecl; external;

procedure jcopy_block_row(input_row: Pointer; output_row: Pointer; num_blocks: Cardinal); cdecl; external;
{$L ..\..\Objs\Jpeg\jutils.obj}
{$L ..\..\Objs\Jpeg\jdapimin.obj}
{$L ..\..\Objs\Jpeg\jdmarker.obj}
{$L ..\..\Objs\Jpeg\jdinput.obj}
{$L ..\..\Objs\Jpeg\jcparam.obj}
{$L ..\..\Objs\Jpeg\jcapistd.obj}
{$L ..\..\Objs\Jpeg\jcinit.obj}
{$L ..\..\Objs\Jpeg\jcmaster.obj}
{$L ..\..\Objs\Jpeg\jccolor.obj}
{$L ..\..\Objs\Jpeg\jcsample.obj}
{$L ..\..\Objs\Jpeg\jcprepct.obj}
{$L ..\..\Objs\Jpeg\jcdctmgr.obj}
{$L ..\..\Objs\Jpeg\jcphuff.obj}
{$L ..\..\Objs\Jpeg\jchuff.obj}
{$L ..\..\Objs\Jpeg\jccoefct.obj}
{$L ..\..\Objs\Jpeg\jcmainct.obj}
{$L ..\..\Objs\Jpeg\jfdctint.obj}
{$L ..\..\Objs\Jpeg\jfdctfst.obj}
{$L ..\..\Objs\Jpeg\jfdctflt.obj}
{$L ..\..\Objs\Jpeg\jdapistd.obj}
{$L ..\..\Objs\Jpeg\jdmaster.obj}
{$L ..\..\Objs\Jpeg\jquant1.obj}
{$L ..\..\Objs\Jpeg\jquant2.obj}
{$L ..\..\Objs\Jpeg\jdmerge.obj}
{$L ..\..\Objs\Jpeg\jdcolor.obj}
{$L ..\..\Objs\Jpeg\jdsample.obj}
{$L ..\..\Objs\Jpeg\jdpostct.obj}
{$L ..\..\Objs\Jpeg\jddctmgr.obj}
{$L ..\..\Objs\Jpeg\jdphuff.obj}
{$L ..\..\Objs\Jpeg\jdhuff.obj}
{$L ..\..\Objs\Jpeg\jdcoefct.obj}
{$L ..\..\Objs\Jpeg\jdmainct.obj}
{$L ..\..\Objs\Jpeg\jidctred.obj}
{$L ..\..\Objs\Jpeg\jidctint.obj}
{$L ..\..\Objs\Jpeg\jidctfst.obj}
{$L ..\..\Objs\Jpeg\jidctflt.obj}

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -