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

📄 imagemagickapi.pas

📁 ImageMagick library of image with Visual C++6
💻 PAS
📖 第 1 页 / 共 5 页
字号:
  TImQuantumType = (
    imIndexQuantum, imGrayQuantum, imIndexAlphaQuantum,
    imGrayAlphaQuantum, imRedQuantum, imCyanQuantum,
    imGreenQuantum, imYellowQuantum, imBlueQuantum,
    imMagentaQuantum, imAlphaQuantum, imBlackQuantum,
    imRGBQuantum, imRGBAQuantum, imCMYKQuantum, imCMYKAQuantum
  );
  TImRenderingIntent = (
    imUndefinedIntent, imSaturationIntent, imPerceptualIntent,
    imAbsoluteIntent, imRelativeIntent
  );
  TImResolutionType = (
    imUndefinedResolution, imPixelsPerInchResolution,
    imPixelsPerCentimeterResolution
  );
  TImStorageType = (
    imCharPixel, imShortPixel, imIntegerPixel, imLongPixel,
    imFloatPixel, imDoublePixel
  );
  TImTransmitType = (
    imUndefinedTransmitType, imFileTransmitType, imBlobTransmitType,
    imStreamTransmitType, imImageTransmitType
  );

  TImBlobMode = (
    imUndefinedBlobMode, imReadBlobMode, imReadBinaryBlobMode,
    imWriteBlobMode, imWriteBinaryBlobMode, imIOBinaryBlobMode
  );

  TImMapMode = (
    imReadMode, imWriteMode, imIOMode
  );

  TImStreamType = (
    imUndefinedStream, imFileStream, imStandardStream,
    imPipeStream, imZipStream, imBZipStream, imFifoStream,
    imBlobStream
  );

// -----------------------------------------------------------------------
// Image structures
// -----------------------------------------------------------------------
  PImrAffineMatrix = ^TImrAffineMatrix;
  TImrAffineMatrix = record
    sx: Double;
    rx: Double;
    ry: Double;
    sy: Double;
    tx: Double;
    ty: Double;
  end;

  TImrPrimaryInfo = record
    x: Double;
    y: Double;
    z: Double;
  end;

  TImrChromaticityInfo = record
    RedPrimary: TImrPrimaryInfo;
    GreenPrimary: TImrPrimaryInfo;
    BluePrimary: TImrPrimaryInfo;
    WhitePoint: TImrPrimaryInfo;
  end;

  PImrPixelPacket = ^TImrPixelPacket;
  TImrPixelPacket = record
    Blue: Quantum;
    Green: Quantum;
    Red: Quantum;
    Opacity: Quantum;
  end;

  PImrColorInfo = ^TImrColorInfo;
  TImrColorInfo = record
    Path: PChar;
    Name: PChar;
    Compliance: TImComplianceType;
    Color: TImrPixelPacket;
    Stealth: Cardinal;
    Signature: Cardinal;
    Previous: PImrColorInfo;
    Next: PImrColorInfo;
  end;

  PImrDoublePixelPacket = ^TImrDoublePixelPacket;
  TImrDoublePixelPacket = record
    Red: Double;
    Green: Double;
    Blue: Double;
    Opacity: Double;
  end;

  PImrErrorInfo = ^TImrErrorInfo;
  TImrErrorInfo = record
    MeanErrorPerPixel: Double;
    NormalizedMeanError: Double;
    NormalizedMaximumError: Double;
  end;

  PImrFrameInfo = ^TImrFrameInfo;
  TImrFrameInfo = record
    Width: Cardinal;
    Height: Cardinal;
    X: Longint;
    Y: Longint;
    InnerBevel: Longint;
    OuterBevel: Longint;
  end;

  PImrGeometryInfo = ^TImrGeometryInfo;
  TImrGeometryInfo = record
    rho: Double;
    sigma: Double;
    xi: Double;
    psi: Double;
  end;

  IndexPacket = Quantum;

  PImrLongPixelPacket = ^TImrLongPixelPacket;
  TImrLongPixelPacket = record
    Red: Cardinal;
    Green: Cardinal;
    Blue: Cardinal;
    Opacity: Cardinal;
  end;

  PImrMontageInfo = ^TImrMontageInfo;
  TImrMontageInfo = record
    Geometry: PChar;
    Tile: PChar;
    Title: PChar;
    Frame: PChar;
    Texture: PChar;
    Font: PChar;
    PointSize: Double;
    BorderWidth: Cardinal;
    Shadow: Cardinal;

    Fill: TImrPixelPacket;
    Stroke: TImrPixelPacket;
    BackgroundColor: TImrPixelPacket;
    BorderColor: TImrPixelPacket;
    MatteColor: TImrPixelPacket;

    Gravity: TImGravityType;
    Filename: packed array[0..MaxTextExtent-1] of Char;
    Signature: Cardinal;
  end;

  PImrProfileInfo = ^TImrProfileInfo;
  TImrProfileInfo = record
    Length: Cardinal; //size_t;
    Name: PChar;
    Info: PChar;
  end;

  PImrRectangleInfo = ^TImrRectangleInfo;
  TImrRectangleInfo = record
    Width: Cardinal;
    Height: Cardinal;
    x: Integer;
    y: Integer;
  end;

  PImrSegmentInfo = ^TImrSegmentInfo;
  TImrSegmentInfo = record
    x1: Double;
    y1: Double;
    x2: Double;
    y2: Double;
  end;

// Declare pointer here - there are circular record references
  PImrBlobInfo = ^TImrBlobInfo;

  PImrImageAttribute = ^TImrImageAttribute;
  TImrImageAttribute = record
    Key: PChar;
    Value: PChar;
    Compression: Longword;
    Previous: PImrImageAttribute;
    Next: PImrImageAttribute;
  end;

  PPImrImage = ^PImrImage;
  PImrImage = ^TImrImage;
  TImrImage = record
    StorageClass: TImClassType;
    ColorSpace: TImColorspaceType;
    Compression: TImCompressionType;
    Tainted: LongBool;                  // True if pixels have been modified.
    Matte: LongBool;                    // If non-zero, then the index member of
                                        // pixels represents the alpha channel.
    Columns: Cardinal;                  // Image width.
    Rows: Cardinal;                     // Image height.
    Depth: Cardinal;                    // Image depth (8 or 16). QuantumLeap
                                        // must be defined before a depth of 16
                                        // is valid.
    Colors: Cardinal;                   // The desired number of colors. Used by
                                        // QuantizeImage().
    ColorMap: PImrPixelPacket;          // PseudoColor palette array.
    BackgroundColor: TImrPixelPacket;
    BorderColor: TImrPixelPacket;       // Image border color.
    MatteColor: TImrPixelPacket;        // Image matte (transparent) color
    Gamma: Double;                      // Gamma level of the image. The same
                                        // color image displayed on two different
                                        // workstations may look different due
                                        // to differences in the display monitor.
                                        // Use gamma correction to adjust for
                                        // this color difference.
    Chromaticity: TImrChromaticityInfo; // Red, green, blue, and white-point
                                        // chromaticity values.
    ColorProfile: TImrProfileInfo;      // ICC color profile. Specifications are
                                        // available from the International Color
                                        // Consortium for the format of ICC
                                        // color profiles.
    IptcProfile: TImrProfileInfo;       // IPTC profile. Specifications are
                                        // available from the International Press
                                        // Telecommunications Council for IPTC profiles.

    GenericProfile: PImrProfileInfo;
    GenericProfiles: Cardinal;

    RenderingIntent: TImRenderingIntent;// The type of rendering Intent.
    Units: TImResolutionType;           // Units of image resolution.
    Montage: PChar;                     // Tile size and offset within an image
                                        // montage. Only valid for montage images.
    Directory: PChar;                   // Tile names from within an image
                                        // montage. Only valid after calling
                                        // MontageImages() or reading a MIFF
                                        // file which contains a directory.
    Geometry: PChar;                    // Preferred size of the image when encoding.
    Offset: Integer;                    // Number of initial bytes to skip over
                                        // when reading raw image.
    x_resolution: Double;               // Horizontal resolution of the image.
    y_resolution: Double;               // Vertical resolution of the image.
    Page: TImrRectangleInfo;            // Equivalent size of Postscript page.
    ExtractInfo: TImrRectangleInfo;

    TileInfo: TImrRectangleInfo;        // deprectated.

    Blur: Double;                       // Blur factor to apply to the image
                                        // when zooming.
    Fuzz: Double;                       // See Fuzz in TImrImageInfo...

    Filter: TImFilterType;              // Filter to use when resizing image.
                                        // The reduction filter employed has a
                                        // significant effect on the time
                                        // required to resize an image and the
                                        // resulting quality. The default filter
                                        // is Lanczos which has been shown to
                                        // produce high quality results when
                                        // reducing most images.
    Interlace: TImInterlaceType;
    Endian: TImEndianType;
    Gravity: TImGravityType;
    Compose: TImCompositeOperator;
    GifDispose: TImDisposeType;         // GIF disposal method

    Clipmask: PImrImage;

    Scene: Cardinal;                    // Image frame scene number.
    Delay: Cardinal;                    // Time in 0.01 seconds (0 to 65535).
    Iterations: Cardinal;               // Number of iterations to loop an
                                        // animation (e.g. Netscape loop
                                        // extension) for.
    TotalColors: Cardinal;              // The number of colors in the image
                                        // after QuantizeImage(),
                                        // or QuantizeImages() if the verbose
                                        // flag was set before the call.
                                        // Calculated by GetNumberColors().

    StartLoop: Integer;

    Error: TImrErrorInfo;

    Timer: TImrTimerInfo;               // Support for measuring actual
                                        // (user + system) and elapsed execution
                                        // time.

    ClientData: Pointer;
    Cache: Pointer;

    Attributes: PImrImageAttribute;     // Image attribute list. Consists of a
                                        // doubly-linked-list of ImageAttribute
                                        // structures, each of which has an
                                        // associated key and value. Access/update
                                        // list via SetImageAttribute() and
                                        // GetImageAttribute().  Key-strings used
                                        // by ImageMagick include
                                        // "Comment" (image comment) ,
                                        // "Label" (image label),
                                        // and "Signature" (image signature).
    Ascii85: PImrAscii85Info;
    Blob: PImrBlobInfo;

    Filename: packed array[0..MaxTextExtent-1] of Char;
    MagickFilename: packed array[0..MaxTextExtent-1] of Char;
    Magick: packed array[0..MaxTextExtent-1] of Char;

⌨️ 快捷键说明

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