📄 imagemagickapi.pas
字号:
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 + -