Class TBGRACustomBitmap

Unit

Declaration

type TBGRACustomBitmap = class(specialize TGenericUniversalBitmap<TBGRAPixel,TBGRAPixelColorspace>, IBGRAScanner)

Description

Base class for TBGRABitmap.

It is the direct parent of TBGRADefaultBitmap class, which is the parent of the diverse implementations. A bitmap can be used as a scanner using the IBGRAScanner interface.

Hierarchy

Overview

Fields

Public FontBidiMode: TFontBidiMode;
Public FontName: string;
Public FontOrientation: integer;
Public FontQuality: TBGRAFontQuality;
Public FontStyle: TFontStyles;
Public FontVerticalAnchor: TFontVerticalAnchor;
Protected FXorMask: TBGRACustomBitmap;
Public HotSpot: TPoint;
Public ResampleFilter: TResampleFilter;
Public ScanInterpolationFilter: TResampleFilter;
Public ScanMaskChannel: TChannel;

Methods

Public constructor Create(AFilename: string; AIsUtf8Filename: boolean); overload; virtual; abstract;
Public constructor Create(AFilename: string); overload; virtual; abstract;
Public constructor Create(AStream: TStream); overload; virtual; abstract;
Public constructor Create(AFilename: string; AIsUtf8Filename: boolean; AOptions: TBGRALoadingOptions); overload; virtual; abstract;
Public constructor Create(ABitmap: TBitmap; AUseTransparent: boolean); overload; virtual; abstract;
Public constructor Create(AFPImage: TFPCustomImage; ACopyProperties: Boolean=False); overload; virtual; abstract;
Public constructor Create(ABitmap: TBitmap); overload; virtual; abstract;
Public function ComputeArc65536(x,y,rx,ry: single; start65536,end65536: word; quality: single = 1): ArrayOfTPointF; virtual; abstract;
Public function ComputeArcRad(x,y,rx,ry: single; startRad,endRad: single; quality: single = 1): ArrayOfTPointF; virtual; abstract;
Public function ComputeBezierCurve(const curve: TQuadraticBezierCurve): ArrayOfTPointF; overload; virtual; abstract;
Public function ComputeBezierCurve(const curve: TCubicBezierCurve): ArrayOfTPointF; overload; virtual; abstract;
Public function ComputeBezierSpline(const spline: array of TQuadraticBezierCurve): ArrayOfTPointF; overload; virtual; abstract;
Public function ComputeBezierSpline(const spline: array of TCubicBezierCurve): ArrayOfTPointF; overload; virtual; abstract;
Public function ComputeClosedSpline(const APoints: array of TPointF; AStyle: TSplineStyle): ArrayOfTPointF; virtual; abstract;
Public function ComputeEllipse(x,y,rx,ry: single): ArrayOfTPointF; overload; deprecated;
Public function ComputeEllipse(x,y,rx,ry,w: single): ArrayOfTPointF; overload; deprecated;
Public function ComputeEllipseBorder(x,y,rx,ry,w: single; quality: single = 1): ArrayOfTPointF; overload; virtual; abstract;
Public function ComputeEllipseBorder(AOrigin, AXAxis, AYAxis: TPointF; w: single; quality: single = 1): ArrayOfTPointF; overload; virtual; abstract;
Public function ComputeEllipseContour(x,y,rx,ry: single; quality: single = 1): ArrayOfTPointF; overload; virtual; abstract;
Public function ComputeEllipseContour(AOrigin, AXAxis, AYAxis: TPointF; quality: single = 1): ArrayOfTPointF; overload; virtual; abstract;
Public function ComputeOpenedSpline(const APoints: array of TPointF; AStyle: TSplineStyle): ArrayOfTPointF; virtual; abstract;
Public function ComputePie65536(x,y,rx,ry: single; start65536,end65536: word; quality: single = 1): ArrayOfTPointF; virtual; abstract;
Public function ComputePieRad(x,y,rx,ry: single; startRad,endRad: single; quality: single = 1): ArrayOfTPointF; virtual; abstract;
Public function ComputeRoundRect(x1,y1,x2,y2,rx,ry: single; options: TRoundRectangleOptions; quality: single = 1): ArrayOfTPointF; overload; virtual; abstract;
Public function ComputeRoundRect(x1,y1,x2,y2,rx,ry: single; quality: single = 1): ArrayOfTPointF; overload; virtual; abstract;
Public function ComputeWidePolygon(const points: array of TPointF; w: single): ArrayOfTPointF; virtual; abstract;
Public function ComputeWidePolyline(const points: array of TPointF; w: single; ClosedCap: boolean): ArrayOfTPointF; overload; virtual; abstract;
Public function ComputeWidePolyline(const points: array of TPointF; w: single): ArrayOfTPointF; overload; virtual; abstract;
Public function CreateBrushTexture(ABrushStyle: TBrushStyle; APatternColor, ABackgroundColor: TBGRAPixel; AWidth: integer = 8; AHeight: integer = 8; APenWidth: single = 1): TBGRACustomBitmap; override;
Public function Duplicate(DuplicateProperties: Boolean = False): TBGRACustomBitmap; overload; override;
Public function Duplicate(DuplicateProperties, DuplicateXorMask: Boolean): TBGRACustomBitmap; overload; virtual;
Public function FilterAffine(AMatrix: TAffineMatrix; correctBlur: boolean = false; ACopyProperties: Boolean=False): TBGRACustomBitmap; virtual; abstract;
Public function FilterBlurMotion(distance: single; angle: single; oriented: boolean; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; override;
Public function FilterBlurMotion(const ABounds: TRect; distance: single; angle: single; oriented: boolean; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; override;
Public function FilterBlurRadial(const ABounds: TRect; radius: single; blurType: TRadialBlurType; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; override;
Public function FilterBlurRadial(radius: single; blurType: TRadialBlurType; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; override;
Public function FilterBlurRadial(radiusX, radiusY: single; blurType: TRadialBlurType; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; override;
Public function FilterBlurRadial(const ABounds: TRect; radiusX, radiusY: single; blurType: TRadialBlurType; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; override;
Public function FilterContour(AGammaCorrection: boolean = false; ACopyProperties: Boolean=False): TBGRACustomBitmap; virtual; abstract;
Public function FilterCustomBlur(mask: TCustomUniversalBitmap; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; override;
Public function FilterCustomBlur(const ABounds: TRect; mask: TCustomUniversalBitmap; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; override;
Public function FilterCylinder(ACopyProperties: Boolean=False): TBGRACustomBitmap; virtual; abstract;
Public function FilterEmboss(angle: single; AStrength: integer= 64; AOptions: TEmbossOptions = []; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; virtual; abstract;
Public function FilterEmboss(angle: single; ABounds: TRect; AStrength: integer= 64; AOptions: TEmbossOptions = []; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; virtual; abstract;
Public function FilterEmbossHighlight(FillSelection: boolean; BorderColor: TBGRAPixel; var Offset: TPoint; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; virtual; abstract;
Public function FilterEmbossHighlight(FillSelection: boolean; BorderColor: TBGRAPixel; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; virtual; abstract;
Public function FilterEmbossHighlight(FillSelection: boolean; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; virtual; abstract;
Public function FilterGrayscale(ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; virtual; abstract;
Public function FilterGrayscale(ABounds: TRect; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; virtual; abstract;
Public function FilterMedian(Option: TMedianOption; ACopyProperties: Boolean=False): TBGRACustomBitmap; virtual; abstract;
Public function FilterNormalize(ABounds: TRect; eachChannel: boolean = True; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; virtual; abstract;
Public function FilterNormalize(eachChannel: boolean = True; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; virtual; abstract;
Public function FilterPixelate(pixelSize: integer; useResample: boolean; filter: TResampleFilter = rfLinear; ACopyProperties: Boolean=False): TBGRACustomBitmap; virtual; abstract;
Public function FilterPlane(ACopyProperties: Boolean=False): TBGRACustomBitmap; virtual; abstract;
Public function FilterRotate(origin: TPointF; angle: single; correctBlur: boolean = false; ACopyProperties: Boolean=False): TBGRACustomBitmap; virtual; abstract;
Public function FilterSharpen(Amount: single = 1; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; virtual; abstract;
Public function FilterSharpen(ABounds: TRect; Amount: single = 1; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; virtual; abstract;
Public function FilterSmartZoom3(Option: TMedianOption; ACopyProperties: Boolean=False): TBGRACustomBitmap; virtual; abstract;
Public function FilterSmooth(ACopyProperties: Boolean=False): TBGRACustomBitmap; virtual; abstract;
Public function FilterSphere(ACopyProperties: Boolean=False): TBGRACustomBitmap; virtual; abstract;
Public function FilterTwirl(ACenter: TPoint; ARadius: Single; ATurn: Single=1; AExponent: Single=3; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; virtual; abstract;
Public function FilterTwirl(ABounds: TRect; ACenter: TPoint; ARadius: Single; ATurn: Single=1; AExponent: Single=3; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; virtual; abstract;
Public function GetImageAffineBounds(Origin,HAxis,VAxis: TPointF; ASourceWidth, ASourceHeight: integer; const ASourceBounds: TRect; AClipOutput: boolean = true): TRect; overload;
Public function GetImageAffineBounds(AMatrix: TAffineMatrix; Source: TBGRACustomBitmap; APixelCenteredCoords: boolean = true): TRect; overload;
Public function GetImageAffineBounds(Origin,HAxis,VAxis: TPointF; Source: TBGRACustomBitmap): TRect; overload;
Public function GetImageAffineBounds(AMatrix: TAffineMatrix; ASourceBounds: TRect; AClipOutput: boolean = true; APixelCenteredCoords: boolean = true): TRect; overload; virtual; abstract;
Public function GetImageAngleBounds(x,y: single; Source: TBGRACustomBitmap; angle: single; imageCenterX: single = 0; imageCenterY: single = 0; ARestoreOffsetAfterRotation: boolean = false): TRect;
Public function GetImageBoundsWithin(const ARect: TRect; Channel: TChannel = cAlpha; ANothingValue: Byte = 0): TRect; overload; override;
Public function GetImageBoundsWithin(const ARect: TRect; Channels: TChannels; ANothingValue: Byte = 0): TRect; overload; override;
Public function GetMaskFromAlpha: TBGRACustomBitmap; virtual; abstract;
Public function GetPart(const ARect: TRect; ACopyProperties: Boolean=False): TBGRACustomBitmap; override;
Public function GetPixel(x, y: single; AResampleFilter: TResampleFilter = rfLinear; smoothBorder: boolean = true): TBGRAPixel; overload; virtual; abstract;
Public function GetPixel256(x, y, fracX256,fracY256: int32or64; AResampleFilter: TResampleFilter = rfLinear; smoothBorder: boolean = true): TBGRAPixel; virtual; abstract;
Public function GetPixelCycle(x, y: single; AResampleFilter: TResampleFilter; repeatX: boolean; repeatY: boolean): TBGRAPixel; overload; virtual; abstract;
Public function GetPixelCycle(x, y: single; AResampleFilter: TResampleFilter = rfLinear): TBGRAPixel; overload; virtual; abstract;
Public function GetPixelCycle256(x, y, fracX256,fracY256: int32or64; AResampleFilter: TResampleFilter; repeatX: boolean; repeatY: boolean): TBGRAPixel; overload; virtual; abstract;
Public function GetPixelCycle256(x, y, fracX256,fracY256: int32or64; AResampleFilter: TResampleFilter = rfLinear): TBGRAPixel; overload; virtual; abstract;
Public function GetPtrBitmap(Top,Bottom: Integer): TBGRACustomBitmap; virtual; abstract;
Public function GetScanlineAt(X, Y: integer): PBGRAPixel; override;
Public function GetUnique: TBGRACustomBitmap; override;
Public class function IsAffineRoughlyTranslation(AMatrix: TAffineMatrix; ASourceBounds: TRect): boolean; virtual; abstract;
Public function MakeBitmapCopy(BackgroundColor: TColor; AMasked: boolean = False): TBitmap; virtual; abstract;
Public function NewBitmap: TBGRACustomBitmap; overload; override;
Public function NewBitmap(Filename: string; AIsUtf8: boolean): TBGRACustomBitmap; overload; virtual; abstract;
Public function NewBitmap(Filename: string; AIsUtf8: boolean; AOptions: TBGRALoadingOptions): TBGRACustomBitmap; overload; virtual; abstract;
Public function NewBitmap(AFPImage: TFPCustomImage): TBGRACustomBitmap; overload; virtual; abstract;
Public function NewBitmap(AWidth, AHeight: integer; const Color: TBGRAPixel): TBGRACustomBitmap; overload; override;
Public function NewBitmap(AWidth, AHeight: integer; AColor: Pointer): TBGRACustomBitmap; overload; override;
Public function NewBitmap(Filename: string): TBGRACustomBitmap; overload; virtual; abstract;
Public function NewBitmap(AWidth, AHeight: integer): TBGRACustomBitmap; overload; override;
Public function NewReference: TBGRACustomBitmap; override;
Public function ProvidesScanline(ARect: TRect): boolean; override;
Public function Resample(newWidth, newHeight: integer; mode: TResampleMode = rmFineResample; ACopyProperties: Boolean=False): TBGRACustomBitmap; virtual; abstract;
Public function RotateCCW(ACopyProperties: Boolean=False): TBGRACustomBitmap; override;
Public function RotateCW(ACopyProperties: Boolean=False): TBGRACustomBitmap; override;
Public function RotateUD(ACopyProperties: Boolean=False): TBGRACustomBitmap; override;
Public function ScanAtExpanded(X,Y: Single): TExpandedPixel; override;
Public function ScanAtIntegerExpanded(X,Y: integer): TExpandedPixel; override;
Public function ScanAtIntegerMask(X,Y: integer): TByteMask; override;
Public function ScanAtMask(X,Y: Single): TByteMask; override;
Public function ScanNextExpandedPixel: TExpandedPixel; override;
Public function TextAffineBox(const sUTF8: string): TAffineBox; virtual; abstract;
Public function TextFitInfo(const sUTF8: string; AMaxWidth: integer): integer; virtual; abstract;
Public function TextSize(const sUTF8: string; AMaxWidth: integer): TSize; overload; virtual; abstract;
Public function TextSize(const sUTF8: string): TSize; overload; virtual; abstract;
Public function TextSize(const sUTF8: string; AMaxWidth: integer; ARightToLeft: boolean): TSize; overload; virtual; abstract;
Public function TextSizeMultiline(const sUTF8: string; AMaxWidth: single = EmptySingle; AParagraphSpacing: single = 0): TSize; virtual; abstract;
Protected function GetArrowEndOffset: single; virtual; abstract;
Protected function GetArrowEndRepeat: integer; virtual; abstract;
Protected function GetArrowEndSize: TPointF; virtual; abstract;
Protected function GetArrowStartOffset: single; virtual; abstract;
Protected function GetArrowStartRepeat: integer; virtual; abstract;
Protected function GetArrowStartSize: TPointF; virtual; abstract;
Protected function GetAverageColor: TColor; virtual; abstract;
Protected function GetAveragePixel: TBGRAPixel; virtual; abstract;
Protected function GetBitmap: TBitmap; virtual; abstract;
Protected function GetCanvas: TCanvas; virtual; abstract;
Protected function GetCanvasAlphaCorrection: boolean; virtual; abstract;
Protected function GetCanvasDrawModeFP: TDrawMode; virtual; abstract;
Protected function GetCanvasFP: TFPImageCanvas; virtual; abstract;
Protected function GetCanvasOpacity: byte; virtual; abstract;
Protected function GetCustomPenStyle: TBGRAPenStyle; virtual; abstract;
Protected function GetFontAntialias: Boolean;
Protected function GetFontFullHeight: integer; virtual; abstract;
Protected function GetFontHeight: integer; virtual; abstract;
Protected function GetFontPixelMetric: TFontPixelMetric; virtual; abstract;
Protected function GetFontRenderer: TBGRACustomFontRenderer; virtual; abstract;
Protected function GetFontRightToLeftFor(AText: string): boolean;
Protected function GetFontVerticalAnchorOffset: single; virtual; abstract;
Protected function GetPenJoinStyle: TPenJoinStyle; virtual; abstract;
Protected function GetPenMiterLimit: single; virtual; abstract;
Protected function GetPenStyle: TPenStyle; virtual; abstract;
Protected function InternalNew: TBGRACustomBitmap; override;
Public procedure AlphaFill(alpha: byte; start, Count: integer); overload; virtual; abstract;
Public procedure AlphaToGrayscale; virtual; abstract;
Public procedure Arc(cx,cy,rx,ry: single; StartAngleRad,EndAngleRad: Single; AColor: TBGRAPixel; w: single; ADrawChord: boolean; AFillColor: TBGRAPixel); overload;
Public procedure Arc(cx,cy,rx,ry: single; const StartPoint,EndPoint: TPointF; AColor: TBGRAPixel; w: single; ADrawChord: boolean; AFillColor: TBGRAPixel); overload;
Public procedure ArrowEndAsClassic(AFlipped: boolean = false; ACut: boolean = false; ARelativePenWidth: single = 1); virtual; abstract;
Public procedure ArrowEndAsNone; virtual; abstract;
Public procedure ArrowEndAsTail; virtual; abstract;
Public procedure ArrowEndAsTriangle(ABackOffset: single = 0; ARounded: boolean = false; AHollow: boolean = false; AHollowPenWidth: single = 0.5); virtual; abstract;
Public procedure ArrowStartAsClassic(AFlipped: boolean = false; ACut: boolean = false; ARelativePenWidth: single = 1); virtual; abstract;
Public procedure ArrowStartAsNone; virtual; abstract;
Public procedure ArrowStartAsTail; virtual; abstract;
Public procedure ArrowStartAsTriangle(ABackOffset: single = 0; ARounded: boolean = false; AHollow: boolean = false; AHollowPenWidth: single = 0.5); virtual; abstract;
Public procedure Blend(AColor: TBGRAPixel; AOperation: TBlendOperation; AIgnoreDestAlpha: boolean = false); virtual;
Public procedure BlendImage(x, y: integer; ASource: TBGRACustomBitmap; AOperation: TBlendOperation); overload; virtual; abstract;
Public procedure BlendImage(ADest: TRect; ASource: IBGRAScanner; AOffsetX, AOffsetY: integer; AOperation: TBlendOperation); overload; virtual; abstract;
Public procedure BlendImageOver(ADest: TRect; ASource: IBGRAScanner; AOffsetX, AOffsetY: integer; AOperation: TBlendOperation; AOpacity: byte = 255; ALinearBlend: boolean = false); overload; virtual; abstract;
Public procedure BlendImageOver(x, y: integer; ASource: TBGRACustomBitmap; AOperation: TBlendOperation; AOpacity: byte = 255; ALinearBlend: boolean = false); overload; virtual; abstract;
Public procedure BlendOver(AColor: TBGRAPixel; AOperation: TBlendOperation; AOpacity: byte = 255; ALinearBlend: boolean = false; AIgnoreDestAlpha: boolean = false); virtual;
Public procedure BlendRect(ADest: TRect; AColor: TBGRAPixel; AOperation: TBlendOperation; AExcludeChannels: TChannels); overload; virtual; abstract;
Public procedure BlendRect(ADest: TRect; AColor: TBGRAPixel; AOperation: TBlendOperation; AIgnoreDestAlpha: boolean = false); overload;
Public procedure BlendRectOver(ADest: TRect; AColor: TBGRAPixel; AOperation: TBlendOperation; AOpacity: byte; ALinearBlend: boolean; AExcludeChannels: TChannels); overload; virtual; abstract;
Public procedure BlendRectOver(ADest: TRect; AColor: TBGRAPixel; AOperation: TBlendOperation; AOpacity: byte = 255; ALinearBlend: boolean = false; AIgnoreDestAlpha: boolean = false); overload;
Public procedure ComputeImageAngleAxes(x,y,w,h,angle: single; imageCenterX,imageCenterY: single; ARestoreOffsetAfterRotation: boolean; out Origin,HAxis,VAxis: TPointF);
Public procedure ConvertFromLinearRGB; virtual; abstract;
Public procedure ConvertToLinearRGB; virtual; abstract;
Public procedure CopyPropertiesTo(ABitmap: TCustomUniversalBitmap); override;
Public procedure CrossFade(ARect: TRect; Source1, Source2: IBGRAScanner; AFadePosition: byte; mode: TDrawMode = dmDrawWithTransparency); overload; virtual; abstract;
Public procedure CrossFade(ARect: TRect; Source1, Source2: IBGRAScanner; AFadeMask: IBGRAScanner; mode: TDrawMode = dmDrawWithTransparency); overload; virtual; abstract;
Public procedure DataDrawOpaque(ACanvas: TCanvas; ARect: TRect; AData: Pointer; ALineOrder: TRawImageLineOrder; AWidth, AHeight: integer); virtual; abstract;
Public procedure DataDrawTransparent(ACanvas: TCanvas; Rect: TRect; AData: Pointer; ALineOrder: TRawImageLineOrder; AWidth, AHeight: integer); virtual; abstract;
Public procedure DiscardXorMask; virtual;
Public procedure Draw(ACanvas: TCanvas; Rect: TRect; Opaque: boolean = True); overload; virtual; abstract;
Public procedure Draw(ACanvas: TCanvas; x, y: integer; Opaque: boolean = True); overload; virtual; abstract;
Public procedure DrawHorizLine(x, y, x2: int32or64; texture: IBGRAScanner); overload;
Public procedure DrawHorizLine(x, y, x2: int32or64; ec: TExpandedPixel); overload; virtual; abstract;
Public procedure DrawHorizLineDiff(x, y, x2: int32or64; c, compare: TBGRAPixel; maxDiff: byte); virtual; abstract;
Public procedure DrawPart(ARect: TRect; ACanvas: TCanvas; ATargetRect: TRect; Opaque: boolean); overload; virtual;
Public procedure DrawPart(ARect: TRect; ACanvas: TCanvas; x, y: integer; Opaque: boolean); overload; virtual;
Public procedure DrawPath(APath: IBGRAPath; AMatrix: TAffineMatrix; AStrokeTexture: IBGRAScanner; AWidth: single; AFillColor: TBGRAPixel); overload; virtual; abstract;
Public procedure DrawPath(APath: IBGRAPath; AMatrix: TAffineMatrix; AStrokeColor: TBGRAPixel; AWidth: single; AFillColor: TBGRAPixel); overload; virtual; abstract;
Public procedure DrawPath(APath: IBGRAPath; AMatrix: TAffineMatrix; AStrokeTexture: IBGRAScanner; AWidth: single; AFillTexture: IBGRAScanner); overload; virtual; abstract;
Public procedure DrawPath(APath: IBGRAPath; AMatrix: TAffineMatrix; AStrokeColor: TBGRAPixel; AWidth: single; AFillTexture: IBGRAScanner); overload; virtual; abstract;
Public procedure DrawPath(APath: IBGRAPath; AStrokeTexture: IBGRAScanner; AWidth: single; AFillColor: TBGRAPixel); overload; virtual; abstract;
Public procedure DrawPath(APath: IBGRAPath; AStrokeColor: TBGRAPixel; AWidth: single; AFillColor: TBGRAPixel); overload; virtual; abstract;
Public procedure DrawPath(APath: IBGRAPath; AStrokeTexture: IBGRAScanner; AWidth: single; AFillTexture: IBGRAScanner); overload; virtual; abstract;
Public procedure DrawPath(APath: IBGRAPath; AStrokeColor: TBGRAPixel; AWidth: single; AFillTexture: IBGRAScanner); overload; virtual; abstract;
Public procedure DrawPixel(x, y: int32or64; const c: TBGRAPixel; ADrawMode: TDrawMode); overload; override;
Public procedure DrawPixels(c: TBGRAPixel; start, Count: integer); virtual; abstract;
Public procedure DrawPolygonAntialias(const points: array of TPointF; c: TBGRAPixel; w: single; fillcolor: TBGRAPixel); overload; virtual; abstract;
Public procedure DrawPolyLineAntialias(const points: array of TPointF; c: TBGRAPixel; w: single; fillcolor: TBGRAPixel); overload; virtual; abstract;
Public procedure DrawVertLine(x, y, y2: int32or64; c: TBGRAPixel); virtual; abstract;
Public procedure EllipseAntialias(AOrigin, AXAxis, AYAxis: TPointF; c: TBGRAPixel; w: single; back: TBGRAPixel); overload; virtual; abstract;
Public procedure EllipseAntialias(x, y, rx, ry: single; c: TBGRAPixel; w: single; back: TBGRAPixel); overload; virtual; abstract;
Public procedure EraseMask(x,y: integer; AMask: TBGRACustomBitmap; alpha: byte=255); virtual; abstract;
Public procedure FastBlendHorizLine(x, y, x2: int32or64; c: TBGRAPixel); virtual; abstract;
Public procedure FastBlendPixel(x, y: int32or64; const c: TBGRAPixel); virtual; abstract;
Public procedure FastBlendVertLine(x, y, y2: int32or64; c: TBGRAPixel); virtual; abstract;
Public procedure Fill(c: TBGRAPixel; start, Count: integer); overload; virtual; abstract;
Public procedure Fill(texture: IBGRAScanner; mode: TDrawMode); overload; override;
Public procedure Fill(texture: IBGRAScanner); overload; virtual;
Public procedure FillChord(cx,cy,rx,ry: single; const StartPoint,EndPoint: TPointF; AFillColor: TBGRAPixel); overload;
Public procedure FillChord(cx,cy,rx,ry: single; const StartPoint,EndPoint: TPointF; texture: IBGRAScanner); overload;
Public procedure FillChord(cx,cy,rx,ry: single; StartAngleRad,EndAngleRad: Single; AFillColor: TBGRAPixel); overload;
Public procedure FillChord(cx,cy,rx,ry: single; StartAngleRad,EndAngleRad: Single; texture: IBGRAScanner); overload;
Public procedure FillChordInRect(const ARect: TRect; StartAngleRad,EndAngleRad: Single; texture: IBGRAScanner); overload;
Public procedure FillChordInRect(const ARect: TRect; StartAngleRad,EndAngleRad: Single; AFillColor: TBGRAPixel); overload;
Public procedure FillClearTypeMask(x,y: integer; xThird: integer; AMask: TBGRACustomBitmap; texture: IBGRAScanner; ARGBOrder: boolean = true); overload; virtual; abstract;
Public procedure FillClearTypeMask(x,y: integer; xThird: integer; AMask: TBGRACustomBitmap; color: TBGRAPixel; ARGBOrder: boolean = true); overload; virtual; abstract;
Public procedure FillEllipseLinearColorAntialias(x, y, rx, ry: single; outercolor, innercolor: TBGRAPixel); overload; virtual; abstract;
Public procedure FillEllipseLinearColorAntialias(AOrigin, AXAxis, AYAxis: TPointF; outercolor, innercolor: TBGRAPixel); overload; virtual; abstract;
Public procedure FillMask(x,y: integer; AMask: TCustomUniversalBitmap; ATexture: IBGRAScanner; ADrawMode: TDrawMode); overload; override;
Public procedure FillMask(x,y: integer; AMask: TCustomUniversalBitmap; ATexture: IBGRAScanner; ADrawMode: TDrawMode; AOpacity: byte); overload; virtual; abstract;
Public procedure FillPie(cx,cy,rx,ry: single; const StartPoint,EndPoint: TPointF; texture: IBGRAScanner); overload;
Public procedure FillPie(cx,cy,rx,ry: single; StartAngleRad,EndAngleRad: Single; texture: IBGRAScanner); overload;
Public procedure FillPie(cx,cy,rx,ry: single; const StartPoint,EndPoint: TPointF; AFillColor: TBGRAPixel); overload;
Public procedure FillPie(cx,cy,rx,ry: single; StartAngleRad,EndAngleRad: Single; AFillColor: TBGRAPixel); overload;
Public procedure FillPieInRect(const ARect: TRect; StartAngleRad,EndAngleRad: Single; texture: IBGRAScanner); overload;
Public procedure FillPieInRect(const ARect: TRect; StartAngleRad,EndAngleRad: Single; AFillColor: TBGRAPixel); overload;
Public procedure FillPolyLinearColor(const points: array of TPointF; AColors: array of TBGRAPixel); overload; virtual; abstract;
Public procedure FillPolyLinearMapping(const points: array of TPointF; texture: IBGRAScanner; texCoords: array of TPointF; TextureInterpolation: Boolean); overload; virtual; abstract;
Public procedure FillPolyLinearMappingLightness(const points: array of TPointF; texture: IBGRAScanner; texCoords: array of TPointF; lightnesses: array of word; TextureInterpolation: Boolean); overload; virtual; abstract;
Public procedure FillPolyPerspectiveMapping(const points: array of TPointF; const pointsZ: array of single; texture: IBGRAScanner; texCoords: array of TPointF; TextureInterpolation: Boolean; zbuffer: psingle = nil); overload; virtual; abstract;
Public procedure FillPolyPerspectiveMappingLightness(const points: array of TPointF; const pointsZ: array of single; texture: IBGRAScanner; texCoords: array of TPointF; lightnesses: array of word; TextureInterpolation: Boolean; zbuffer: psingle = nil); overload; virtual; abstract;
Public procedure FillQuadAffineMapping(Orig,HAxis,VAxis: TPointF; AImage: TBGRACustomBitmap; APixelCenteredCoordinates: boolean = true; ADrawMode: TDrawMode = dmDrawWithTransparency; AOpacity: byte = 255); virtual; abstract;
Public procedure FillQuadAffineMappingAntialias(Orig,HAxis,VAxis: TPointF; AImage: TBGRACustomBitmap; APixelCenteredCoordinates: boolean = true; AOpacity: byte = 255); virtual; abstract;
Public procedure FillQuadLinearColor(pt1,pt2,pt3,pt4: TPointF; c1,c2,c3,c4: TBGRAPixel); overload; virtual; abstract;
Public procedure FillQuadLinearColorAntialias(pt1,pt2,pt3,pt4: TPointF; c1,c2,c3,c4: TBGRAPixel); overload; virtual; abstract;
Public procedure FillQuadLinearMapping(pt1,pt2,pt3,pt4: TPointF; texture: IBGRAScanner; tex1, tex2, tex3, tex4: TPointF; TextureInterpolation: Boolean= True; ACulling: TFaceCulling = fcNone; ACropToPolygon: boolean = true); overload; virtual; abstract;
Public procedure FillQuadLinearMappingAntialias(pt1,pt2,pt3,pt4: TPointF; texture: IBGRAScanner; tex1, tex2, tex3, tex4: TPointF; ACulling: TFaceCulling = fcNone); overload; virtual; abstract;
Public procedure FillQuadLinearMappingLightness(pt1,pt2,pt3,pt4: TPointF; texture: IBGRAScanner; tex1, tex2, tex3, tex4: TPointF; light1,light2,light3,light4: word; TextureInterpolation: Boolean= True); overload; virtual; abstract;
Public procedure FillQuadPerspectiveMapping(pt1,pt2,pt3,pt4: TPointF; texture: IBGRAScanner; tex1, tex2, tex3, tex4: TPointF; ACleanBorders: TRect; ADrawMode: TDrawMode = dmDrawWithTransparency); overload; virtual; abstract;
Public procedure FillQuadPerspectiveMapping(pt1,pt2,pt3,pt4: TPointF; texture: IBGRAScanner; tex1, tex2, tex3, tex4: TPointF; ADrawMode: TDrawMode = dmDrawWithTransparency); overload; virtual; abstract;
Public procedure FillQuadPerspectiveMappingAntialias(pt1,pt2,pt3,pt4: TPointF; texture: IBGRAScanner; tex1, tex2, tex3, tex4: TPointF; ACleanBorders: TRect); overload; virtual; abstract;
Public procedure FillQuadPerspectiveMappingAntialias(pt1,pt2,pt3,pt4: TPointF; texture: IBGRAScanner; tex1, tex2, tex3, tex4: TPointF); overload; virtual; abstract;
Public procedure FillRect(x, y, x2, y2: integer; texture: IBGRAScanner; mode: TDrawMode; ditheringAlgorithm: TDitheringAlgorithm); overload; virtual;
Public procedure FillRect(r: TRect; texture: IBGRAScanner; mode: TDrawMode; AScanOffset: TPoint; ditheringAlgorithm: TDitheringAlgorithm); overload; virtual;
Public procedure FillRect(r: TRect; texture: IBGRAScanner; mode: TDrawMode; ditheringAlgorithm: TDitheringAlgorithm); overload; virtual;
Public procedure FillRect(x, y, x2, y2: integer; texture: IBGRAScanner; mode: TDrawMode; AScanOffset: TPoint; ditheringAlgorithm: TDitheringAlgorithm); overload; virtual; abstract;
Public procedure FillTriangleLinearColor(pt1,pt2,pt3: TPointF; c1,c2,c3: TBGRAPixel); overload; virtual; abstract;
Public procedure FillTriangleLinearColorAntialias(pt1,pt2,pt3: TPointF; c1,c2,c3: TBGRAPixel); overload; virtual; abstract;
Public procedure FillTriangleLinearMapping(pt1,pt2,pt3: TPointF; texture: IBGRAScanner; tex1, tex2, tex3: TPointF; TextureInterpolation: Boolean= True); overload; virtual; abstract;
Public procedure FillTriangleLinearMappingAntialias(pt1,pt2,pt3: TPointF; texture: IBGRAScanner; tex1, tex2, tex3: TPointF); overload; virtual; abstract;
Public procedure FillTriangleLinearMappingLightness(pt1,pt2,pt3: TPointF; texture: IBGRAScanner; tex1, tex2, tex3: TPointF; light1,light2,light3: word; TextureInterpolation: Boolean= True); overload; virtual; abstract;
Public procedure FloodFill(X, Y: integer; const Brush: TUniversalBrush; Progressive: boolean; ToleranceW: Word = $00ff); overload; virtual;
Public procedure FloodFill(X, Y: integer; Color: TBGRAPixel; mode: TFloodfillMode; Tolerance: byte = 0); overload; virtual;
Public procedure GetImageFromCanvas(CanvasSource: TCanvas; x, y: integer); virtual; abstract;
Public procedure GradientFill(x, y, x2, y2: integer; gradient: TBGRACustomGradient; gtype: TGradientType; o1, o2: TPointF; mode: TDrawMode; Sinus: Boolean=False; ditherAlgo: TDitheringAlgorithm = daNearestNeighbor); overload; virtual; abstract;
Public procedure GradientFill(x, y, x2, y2: integer; c1, c2: TBGRAPixel; gtype: TGradientType; o1, o2: TPointF; mode: TDrawMode; gammaColorCorrection: boolean = True; Sinus: Boolean=False; ditherAlgo: TDitheringAlgorithm = daNearestNeighbor); overload; virtual; abstract;
Public procedure GrayscaleToAlpha; virtual; abstract;
Public procedure HorizLineDiff(x, y, x2: int32or64; const ABrush: TUniversalBrush; ACompare: TBGRAPixel; AMaxDiffW: word); virtual; abstract;
Public procedure HorizontalFlip(ARect: TRect); overload; override;
Public procedure InplaceGrayscale(ABounds: TRect; AGammaCorrection: boolean = true); overload; virtual; abstract;
Public procedure InplaceGrayscale(AGammaCorrection: boolean = true); overload; virtual; abstract;
Public procedure InplaceNormalize(ABounds: TRect; AEachChannel: boolean = True); overload; virtual; abstract;
Public procedure InplaceNormalize(AEachChannel: boolean = True); overload; virtual; abstract;
Public procedure LinearNegative; virtual; abstract;
Public procedure LinearNegativeRect(ABounds: TRect); virtual; abstract;
Public procedure LoadFromDevice(DC: HDC); overload; virtual; abstract;
Public procedure LoadFromDevice(DC: HDC; ARect: TRect); overload; virtual; abstract;
Public procedure LoadFromStream(AStream: TStream; AHandler: TFPCustomImageReader; AOptions: TBGRALoadingOptions); override;
Public procedure NeedXorMask; virtual;
Public procedure Negative; virtual; abstract;
Public procedure NegativeRect(ABounds: TRect); virtual; abstract;
Public procedure ParallelFloodFill(X, Y: integer; Dest: TCustomUniversalBitmap; Color: TBGRAPixel; mode: TFloodfillMode; Tolerance: byte = 0; DestOfsX: integer = 0; DestOfsY: integer = 0); overload; virtual; abstract;
Public procedure ParallelFloodFill(X, Y: integer; Dest: TCustomUniversalBitmap; const Brush: TUniversalBrush; Progressive: boolean; ToleranceW: Word = $00ff; DestOfsX: integer = 0; DestOfsY: integer = 0); overload; virtual; abstract;
Public procedure Pie(cx,cy,rx,ry: single; StartAngleRad,EndAngleRad: Single; AColor: TBGRAPixel; w: single; AFillColor: TBGRAPixel); overload;
Public procedure Pie(cx,cy,rx,ry: single; const StartPoint,EndPoint: TPointF; AColor: TBGRAPixel; w: single; AFillColor: TBGRAPixel); overload;
Public procedure PutImage(x, y: integer; Source: TBitmap; mode: TDrawMode; AOpacity: byte = 255); overload;
Public procedure PutImageAffine(AMatrix: TAffineMatrix; Source: TBGRACustomBitmap; AResampleFilter: TResampleFilter; AMode: TDrawMode; AOpacity: Byte=255; APixelCenteredCoords: boolean = true); overload;
Public procedure PutImageAffine(AMatrix: TAffineMatrix; Source: TBGRACustomBitmap; AOutputBounds: TRect; AResampleFilter: TResampleFilter; AMode: TDrawMode; AOpacity: Byte=255; APixelCenteredCoords: boolean = true); overload; virtual; abstract;
Public procedure PutImageAffine(AMatrix: TAffineMatrix; Source: TBGRACustomBitmap; AOutputBounds: TRect; AOpacity: Byte=255; ACorrectBlur: Boolean = false; APixelCenteredCoords: boolean = true); overload;
Public procedure PutImageAffine(AMatrix: TAffineMatrix; Source: TBGRACustomBitmap; AResampleFilter: TResampleFilter; AOpacity: Byte=255; APixelCenteredCoords: boolean = true); overload;
Public procedure PutImageAffine(Origin,HAxis,VAxis: TPointF; Source: TBGRACustomBitmap; AResampleFilter: TResampleFilter; AMode: TDrawMode; AOpacity: Byte=255); overload;
Public procedure PutImageAffine(Origin,HAxis,VAxis: TPointF; Source: TBGRACustomBitmap; AResampleFilter: TResampleFilter; AOpacity: Byte=255); overload;
Public procedure PutImageAffine(Origin,HAxis,VAxis: TPointF; Source: TBGRACustomBitmap; AOpacity: Byte=255; ACorrectBlur: Boolean = false); overload;
Public procedure PutImageAffine(Origin,HAxis,VAxis: TPointF; Source: TBGRACustomBitmap; AOutputBounds: TRect; AOpacity: Byte=255; ACorrectBlur: Boolean = false); overload;
Public procedure PutImageAffine(AMatrix: TAffineMatrix; Source: TBGRACustomBitmap; AOpacity: Byte=255; ACorrectBlur: Boolean = false; APixelCenteredCoords: boolean = true); overload;
Public procedure PutImageAffine(Origin,HAxis,VAxis: TPointF; Source: TBGRACustomBitmap; AOutputBounds: TRect; AResampleFilter: TResampleFilter; AMode: TDrawMode; AOpacity: Byte=255); overload;
Public procedure PutImageAngle(x,y: single; Source: TBGRACustomBitmap; angle: single; imageCenterX: single = 0; imageCenterY: single = 0; AOpacity: Byte=255; ARestoreOffsetAfterRotation: boolean = false; ACorrectBlur: Boolean = false); overload;
Public procedure PutImageAngle(x,y: single; Source: TBGRACustomBitmap; angle: single; AOutputBounds: TRect; AResampleFilter: TResampleFilter; imageCenterX: single = 0; imageCenterY: single = 0; AOpacity: Byte=255; ARestoreOffsetAfterRotation: boolean = false); overload;
Public procedure PutImageAngle(x,y: single; Source: TBGRACustomBitmap; angle: single; AOutputBounds: TRect; imageCenterX: single = 0; imageCenterY: single = 0; AOpacity: Byte=255; ARestoreOffsetAfterRotation: boolean = false; ACorrectBlur: Boolean = false); overload;
Public procedure PutImageAngle(x,y: single; Source: TBGRACustomBitmap; angle: single; AResampleFilter: TResampleFilter; imageCenterX: single = 0; imageCenterY: single = 0; AOpacity: Byte=255; ARestoreOffsetAfterRotation: boolean = false); overload;
Public procedure PutImagePart(x,y: integer; Source: TBGRACustomBitmap; SourceRect: TRect; mode: TDrawMode; AOpacity: byte = 255);
Public procedure PutImageSubpixel(x, y: single; Source: TBGRACustomBitmap; AOpacity: byte = 255);
Public procedure RectangleAntialias(x, y, x2, y2: single; c: TBGRAPixel; w: single; back: TBGRAPixel); overload; virtual; abstract;
Public procedure RectangleWithin(r: TRect; ABorderColor: TBGRAPixel; w: single; AFillColor: TBGRAPixel); overload;
Public procedure RectangleWithin(x1,y1,x2,y2: single; ABorderColor: TBGRAPixel; w: single; AFillColor: TBGRAPixel; APixelCenteredCoordinates: boolean = true); overload;
Public procedure ReplaceColor(ARect: TRect; before, after: TColor); overload; virtual; abstract;
Public procedure ReplaceColor(before, after: TColor); overload; virtual; abstract;
Public procedure RotateUDInplace(ARect: TRect); overload; override;
Public procedure RoundRectAntialias(x,y,x2,y2,rx,ry: single; c: TBGRAPixel; w: single; options: TRoundRectangleOptions = []); overload; virtual; abstract;
Public procedure RoundRectAntialias(x,y,x2,y2,rx,ry: single; pencolor: TBGRAPixel; w: single; fillcolor: TBGRAPixel; options: TRoundRectangleOptions = []); overload; virtual; abstract;
Public procedure RoundRectAntialias(x,y,x2,y2,rx,ry: single; texture: IBGRAScanner; w: single; options: TRoundRectangleOptions = []); overload; virtual; abstract;
Public procedure RoundRectAntialias(x,y,x2,y2,rx,ry: single; penTexture: IBGRAScanner; w: single; fillTexture: IBGRAScanner; options: TRoundRectangleOptions = []); overload; virtual; abstract;
Public procedure ScanNextMaskChunk(var ACount: integer; out AMask: PByteMask; out AStride: integer); override;
Public procedure SetPixel(x, y: int32or64; c: TColor); overload; virtual; abstract;
Public procedure SetSize(AWidth, AHeight: integer); override;
Public procedure StretchPutImage(ARect: TRect; Source: TBitmap; mode: TDrawMode; AOpacity: byte = 255); overload;
Public procedure StretchPutImage(ARect: TRect; Source: TBGRACustomBitmap; mode: TDrawMode; AOpacity: byte = 255); overload; virtual; abstract;
Public procedure StretchPutImageProportionally(ARect: TRect; AHorizAlign: TAlignment; AVertAlign: TTextLayout; Source: TBGRACustomBitmap; mode: TDrawMode; AOpacity: byte = 255; ACover: boolean = false);
Public procedure SwapRedBlue(ARect: TRect); overload; virtual; abstract;
Public procedure SwapRedBlue; overload; virtual; abstract;
Public procedure TakeScreenshot(ARect: TRect); virtual; abstract;
Public procedure TakeScreenshotOfPrimaryMonitor; virtual; abstract;
Public procedure TextMultiline(ALeft,ATop,AWidth: single; const sUTF8: string; ATexture: IBGRAScanner; AAlign: TBidiTextAlignment = btaNatural; AVertAlign: TTextLayout = tlTop; AParagraphSpacing: single = 0); overload; virtual; abstract;
Public procedure TextMultiline(x,y: single; const sUTF8: string; c: TBGRAPixel; AAlign: TBidiTextAlignment = btaLeftJustify; AVertAlign: TTextLayout = tlTop; AParagraphSpacing: single = 0); overload;
Public procedure TextMultiline(x,y: single; const sUTF8: string; ATexture: IBGRAScanner; AAlign: TBidiTextAlignment = btaLeftJustify; AVertAlign: TTextLayout = tlTop; AParagraphSpacing: single = 0); overload;
Public procedure TextMultiline(ALeft,ATop,AWidth: single; const sUTF8: string; c: TBGRAPixel; AAlign: TBidiTextAlignment = btaNatural; AVertAlign: TTextLayout = tlTop; AParagraphSpacing: single = 0); overload; virtual; abstract;
Public procedure TextOut(x, y: single; const sUTF8: string; texture: IBGRAScanner); overload; virtual;
Public procedure TextOut(x, y: single; const sUTF8: string; c: TColor; ARightToLeft: boolean); overload; virtual;
Public procedure TextOut(x, y: single; const sUTF8: string; c: TBGRAPixel; align: TAlignment; ARightToLeft: boolean); overload; virtual; abstract;
Public procedure TextOut(x, y: single; const sUTF8: string; texture: IBGRAScanner; ARightToLeft: boolean); overload; virtual;
Public procedure TextOut(x, y: single; const sUTF8: string; c: TBGRAPixel; align: TAlignment); overload; virtual;
Public procedure TextOut(x, y: single; const sUTF8: string; c: TBGRAPixel); overload; virtual;
Public procedure TextOut(x, y: single; const sUTF8: string; texture: IBGRAScanner; align: TAlignment); overload; virtual;
Public procedure TextOut(x, y: single; const sUTF8: string; c: TColor); overload; virtual;
Public procedure TextOut(x, y: single; const sUTF8: string; c: TBGRAPixel; ARightToLeft: boolean); overload; virtual;
Public procedure TextOut(x, y: single; const sUTF8: string; ATexture: IBGRAScanner; AAlign: TAlignment; ALetterSpacing: single); overload; virtual; abstract;
Public procedure TextOut(x, y: single; const sUTF8: string; AColor: TBGRAPixel; AAlign: TAlignment; ALetterSpacing: single); overload; virtual; abstract;
Public procedure TextOut(x, y: single; const sUTF8: string; texture: IBGRAScanner; align: TAlignment; ARightToLeft: boolean); overload; virtual; abstract;
Public procedure TextOutAngle(x, y: single; orientationTenthDegCCW: integer; const sUTF8: string; texture: IBGRAScanner); overload; virtual;
Public procedure TextOutAngle(x, y: single; orientationTenthDegCCW: integer; const sUTF8: string; c: TBGRAPixel; align: TAlignment; ARightToLeft: boolean); overload; virtual; abstract;
Public procedure TextOutAngle(x, y: single; orientationTenthDegCCW: integer; const sUTF8: string; texture: IBGRAScanner; align: TAlignment; ARightToLeft: boolean); overload; virtual; abstract;
Public procedure TextOutAngle(x, y: single; orientationTenthDegCCW: integer; const sUTF8: string; texture: IBGRAScanner; align: TAlignment); overload; virtual;
Public procedure TextOutAngle(x, y: single; orientationTenthDegCCW: integer; const sUTF8: string; c: TBGRAPixel); overload; virtual;
Public procedure TextOutAngle(x, y: single; orientationTenthDegCCW: integer; const sUTF8: string; c: TBGRAPixel; align: TAlignment); overload; virtual;
Public procedure TextOutCurved(ACursor: TBGRACustomPathCursor; const sUTF8: string; ATexture: IBGRAScanner; AAlign: TAlignment; ALetterSpacing: single); overload; virtual; abstract;
Public procedure TextOutCurved(ACursor: TBGRACustomPathCursor; const sUTF8: string; AColor: TBGRAPixel; AAlign: TAlignment; ALetterSpacing: single); overload; virtual; abstract;
Public procedure TextOutCurved(APath: IBGRAPath; const sUTF8: string; AColor: TBGRAPixel; AAlign: TAlignment; ALetterSpacing: single); overload; virtual;
Public procedure TextOutCurved(APath: IBGRAPath; const sUTF8: string; ATexture: IBGRAScanner; AAlign: TAlignment; ALetterSpacing: single); overload; virtual;
Public procedure TextOutOffset(x, y: single; const sUTF8: string; AColor: TBGRAPixel; AOffset: array of TPointF); overload; virtual;
Public procedure TextOutOffset(x, y: single; const sUTF8: string; ATexture: IBGRAScanner; AOffset: array of TPointF); overload; virtual;
Public procedure TextRect(ARect: TRect; const sUTF8: string; halign: TAlignment; valign: TTextLayout; c: TBGRAPixel); overload; virtual;
Public procedure TextRect(ARect: TRect; const sUTF8: string; halign: TAlignment; valign: TTextLayout; texture: IBGRAScanner); overload; virtual;
Public procedure TextRect(ARect: TRect; x, y: integer; const sUTF8: string; style: TTextStyle; c: TBGRAPixel); overload; virtual; abstract;
Public procedure TextRect(ARect: TRect; x, y: integer; const sUTF8: string; style: TTextStyle; texture: IBGRAScanner); overload; virtual; abstract;
Public procedure VerticalFlip(ARect: TRect); overload; override;
Public procedure XorHorizLine(x, y, x2: int32or64; c: TBGRAPixel); virtual; abstract;
Public procedure XorPixel(x, y: int32or64; const c: TBGRAPixel); overload; virtual; abstract;
Public procedure XorVertLine(x, y, y2: int32or64; c: TBGRAPixel); virtual; abstract;
Protected procedure Init; override;
Protected procedure InternalArc(cx,cy,rx,ry: single; StartAngleRad,EndAngleRad: Single; ABorderColor: TBGRAPixel; w: single; AFillColor: TBGRAPixel; AOptions: TArcOptions; ADrawChord: boolean = false; ATexture: IBGRAScanner = nil); overload; virtual; abstract;
Protected procedure InternalArc(cx,cy,rx,ry: single; const StartPoint,EndPoint: TPointF; ABorderColor: TBGRAPixel; w: single; AFillColor: TBGRAPixel; AOptions: TArcOptions; ADrawChord: boolean = false; ATexture: IBGRAScanner = nil); overload;
Protected procedure InternalArcInRect(r: TRect; StartAngleRad,EndAngleRad: Single; ABorderColor : TBGRAPixel; w: single; AFillColor: TBGRAPixel; AOptions: TArcOptions; ADrawChord: boolean = false; ATexture: IBGRAScanner = nil);
Protected procedure InternalFillArcInRect(r: TRect; StartAngleRad,EndAngleRad: Single; AFillColor: TBGRAPixel; AOptions: TArcOptions; ATexture: IBGRAScanner = nil);
Protected procedure InternalTextOutOffset(x, y: single; const sUTF8: string; AColor: TBGRAPixel; ATexture: IBGRAScanner; AOffsets: array of TPointF); virtual; abstract;
Protected procedure SetArrowEndOffset(AValue: single); virtual; abstract;
Protected procedure SetArrowEndRepeat(AValue: integer); virtual; abstract;
Protected procedure SetArrowEndSize(AValue: TPointF); virtual; abstract;
Protected procedure SetArrowStartOffset(AValue: single); virtual; abstract;
Protected procedure SetArrowStartRepeat(AValue: integer); virtual; abstract;
Protected procedure SetArrowStartSize(AValue: TPointF); virtual; abstract;
Protected procedure SetCanvasAlphaCorrection(const AValue: boolean); virtual; abstract;
Protected procedure SetCanvasDrawModeFP(const AValue: TDrawMode); virtual; abstract;
Protected procedure SetCanvasOpacity(AValue: byte); virtual; abstract;
Protected procedure SetCustomPenStyle(const AValue: TBGRAPenStyle); virtual; abstract;
Protected procedure SetFontAntialias(const AValue: Boolean);
Protected procedure SetFontFullHeight(AHeight: integer); virtual; abstract;
Protected procedure SetFontHeight(AHeight: integer); virtual; abstract;
Protected procedure SetFontRenderer(AValue: TBGRACustomFontRenderer); virtual; abstract;
Protected procedure SetPenJoinStyle(const AValue: TPenJoinStyle); virtual; abstract;
Protected procedure SetPenMiterLimit(const AValue: single); virtual; abstract;
Protected procedure SetPenStyle(const AValue: TPenStyle); virtual; abstract;
Protected procedure SetXorMask(AValue: TBGRACustomBitmap);

Properties

Public property ArrowEndOffset: single read GetArrowEndOffset write SetArrowEndOffset;
Public property ArrowEndRepeat: integer read GetArrowEndRepeat write SetArrowEndRepeat;
Public property ArrowEndSize: TPointF read GetArrowEndSize write SetArrowEndSize;
Public property ArrowStartOffset: single read GetArrowStartOffset write SetArrowStartOffset;
Public property ArrowStartRepeat: integer read GetArrowStartRepeat write SetArrowStartRepeat;
Public property ArrowStartSize: TPointF read GetArrowStartSize write SetArrowStartSize;
Public property AverageColor: TColor Read GetAverageColor;
Public property AveragePixel: TBGRAPixel Read GetAveragePixel;
Public property Bitmap: TBitmap Read GetBitmap;
Public property Canvas: TCanvas Read GetCanvas;
Public property CanvasAlphaCorrection: boolean Read GetCanvasAlphaCorrection Write SetCanvasAlphaCorrection;
Public property CanvasDrawModeFP: TDrawMode read GetCanvasDrawModeFP write SetCanvasDrawModeFP;
Public property CanvasFP: TFPImageCanvas read GetCanvasFP;
Public property CanvasOpacity: byte Read GetCanvasOpacity Write SetCanvasOpacity;
Public property CustomPenStyle: TBGRAPenStyle read GetCustomPenStyle write SetCustomPenStyle;
Public property FontAntialias: Boolean read GetFontAntialias write SetFontAntialias;
Public property FontFullHeight: integer read GetFontFullHeight write SetFontFullHeight;
Public property FontHeight: integer Read GetFontHeight Write SetFontHeight;
Public property FontPixelMetric: TFontPixelMetric read GetFontPixelMetric;
Public property FontRenderer: TBGRACustomFontRenderer read GetFontRenderer write SetFontRenderer;
Public property FontVerticalAnchorOffset: single read GetFontVerticalAnchorOffset;
Public property JoinMiterLimit: single read GetPenMiterLimit Write SetPenMiterLimit;
Public property JoinStyle: TPenJoinStyle read GetPenJoinStyle Write SetPenJoinStyle;
Public property PenStyle: TPenStyle read GetPenStyle Write SetPenStyle;
Public property XorMask: TBGRACustomBitmap read FXorMask write SetXorMask;

Description

Fields

Public FontBidiMode: TFontBidiMode;

Specifies the base direction of the text (cf Unicode). By default, it is automatically determined by the first strongly oriented character. You can specify another base direction here however it is not taken into account by the LCL on Linux.

Public FontName: string;

Specifies the font to use. Unless the font renderer accept otherwise, the name is in human readable form, like 'Arial', 'Times New Roman', ...

Public FontOrientation: integer;

Specifies the rotation of the text, for functions that support text rotation. It is expressed in tenth of degrees, positive values going counter-clockwise.

Public FontQuality: TBGRAFontQuality;

Specifies the quality of rendering. Default value is ''fqSystem''. See [[BGRABitmap Miscellaneous types|miscellaneous types]]

Public FontStyle: TFontStyles;

Specifies the set of styles to be applied to the font. These can be ''fsBold'', ''fsItalic'', ''fsStrikeOut'', ''fsUnderline''. So the value [''fsBold'',''fsItalic''] means that the font must be bold and italic. See [[BGRABitmap Miscellaneous types|miscellaneous types]]

Public FontVerticalAnchor: TFontVerticalAnchor;

Specifies how the font is vertically aligned relative to the start coordinate. See [[BGRABitmap Miscellaneous types|miscellaneous types]]

Protected FXorMask: TBGRACustomBitmap;

This item has no description.

Public HotSpot: TPoint;

Cursor position for mouse pointer

Public ResampleFilter: TResampleFilter;

Resample filter is used when resizing the bitmap. See [[BGRABitmap Miscellaneous types#Images and resampling|resampling types]]

Public ScanInterpolationFilter: TResampleFilter;

Scan interpolation filter is used when the bitmap is used as a scanner (interface ''IBGRAScanner'')

Public ScanMaskChannel: TChannel;

This item has no description.

Methods

Public constructor Create(AFilename: string; AIsUtf8Filename: boolean); overload; virtual; abstract;

This item has no description.

Public constructor Create(AFilename: string); overload; virtual; abstract;

This item has no description.

Public constructor Create(AStream: TStream); overload; virtual; abstract;

This item has no description.

Public constructor Create(AFilename: string; AIsUtf8Filename: boolean; AOptions: TBGRALoadingOptions); overload; virtual; abstract;

This item has no description.

Public constructor Create(ABitmap: TBitmap; AUseTransparent: boolean); overload; virtual; abstract;

Create an instance and load an image from a file.

Example of loading and displaying an image on a form:

procedure TForm1.FormCreate(Sender: TObject);
begin
  image := TBGRABitmap.Create('image.png');
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  image.free;
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
  image.Draw(Canvas, 0, 0, True); // assume image is opaque
end;

Public constructor Create(AFPImage: TFPCustomImage; ACopyProperties: Boolean=False); overload; virtual; abstract;

This item has no description.

Public constructor Create(ABitmap: TBitmap); overload; virtual; abstract;

This item has no description.

Public function ComputeArc65536(x,y,rx,ry: single; start65536,end65536: word; quality: single = 1): ArrayOfTPointF; virtual; abstract;

This item has no description.

Public function ComputeArcRad(x,y,rx,ry: single; startRad,endRad: single; quality: single = 1): ArrayOfTPointF; virtual; abstract;

This item has no description.

Public function ComputeBezierCurve(const curve: TQuadraticBezierCurve): ArrayOfTPointF; overload; virtual; abstract;

This item has no description.

Public function ComputeBezierCurve(const curve: TCubicBezierCurve): ArrayOfTPointF; overload; virtual; abstract;

This item has no description.

Public function ComputeBezierSpline(const spline: array of TQuadraticBezierCurve): ArrayOfTPointF; overload; virtual; abstract;

This item has no description.

Public function ComputeBezierSpline(const spline: array of TCubicBezierCurve): ArrayOfTPointF; overload; virtual; abstract;

This item has no description.

Public function ComputeClosedSpline(const APoints: array of TPointF; AStyle: TSplineStyle): ArrayOfTPointF; virtual; abstract;

Compute an closed spline passing by the given points.

Example of drawing a spline on a form:

computeclosedspline

procedure TForm1.FormPaint(Sender: TObject);
var
  image: TBGRABitmap;
  pts: array of TPointF;
  storedSpline: array of TPointF;
  c: TBGRAPixel;
begin
    image := TBGRABitmap.Create(ClientWidth, ClientHeight, clBtnFace);
    c := clWindowText;

    //rectangular polyline
    setlength(pts,4);
    pts[0] := PointF(50,50);
    pts[1] := PointF(150,50);
    pts[2] := PointF(150,150);
    pts[3] := PointF(50,150);
    image.DrawPolylineAntialias(pts,BGRA(255,0,0,150),1);

    //compute spline points and draw as a polyline
    storedSpline := image.ComputeClosedSpline(pts,ssVertexToSide);
    image.DrawPolylineAntialias(storedSpline,c,1);

    image.Draw(Canvas,0,0,True);
    image.free;
end;

Public function ComputeEllipse(x,y,rx,ry: single): ArrayOfTPointF; overload; deprecated;

Warning: this symbol is deprecated.

This item has no description.

Public function ComputeEllipse(x,y,rx,ry,w: single): ArrayOfTPointF; overload; deprecated;

Warning: this symbol is deprecated.

This item has no description.

Public function ComputeEllipseBorder(x,y,rx,ry,w: single; quality: single = 1): ArrayOfTPointF; overload; virtual; abstract;

This item has no description.

Public function ComputeEllipseBorder(AOrigin, AXAxis, AYAxis: TPointF; w: single; quality: single = 1): ArrayOfTPointF; overload; virtual; abstract;

This item has no description.

Public function ComputeEllipseContour(x,y,rx,ry: single; quality: single = 1): ArrayOfTPointF; overload; virtual; abstract;

This item has no description.

Public function ComputeEllipseContour(AOrigin, AXAxis, AYAxis: TPointF; quality: single = 1): ArrayOfTPointF; overload; virtual; abstract;

This item has no description.

Public function ComputeOpenedSpline(const APoints: array of TPointF; AStyle: TSplineStyle): ArrayOfTPointF; virtual; abstract;

Compute an opened spline passing by the given points.

Example of drawing a spline on a form:

computeopenedspline

procedure TForm1.FormPaint(Sender: TObject);
var
  image: TBGRABitmap;
  pts: array of TPointF;
  storedSpline: array of TPointF;
  c: TBGRAPixel;
begin
    image := TBGRABitmap.Create(ClientWidth, ClientHeight, clBtnFace);
    c := clWindowText;

    //rectangular polyline
    setlength(pts,4);
    pts[0] := PointF(50,50);
    pts[1] := PointF(150,50);
    pts[2] := PointF(150,150);
    pts[3] := PointF(50,150);
    image.DrawPolylineAntialias(pts,BGRA(255,0,0,150),1);

    //compute spline points and draw as a polyline
    storedSpline := image.ComputeOpenedSpline(pts,ssVertexToSide);
    image.DrawPolylineAntialias(storedSpline,c,1);

    image.Draw(Canvas,0,0,True);
    image.free;
end;

Public function ComputePie65536(x,y,rx,ry: single; start65536,end65536: word; quality: single = 1): ArrayOfTPointF; virtual; abstract;

This item has no description.

Public function ComputePieRad(x,y,rx,ry: single; startRad,endRad: single; quality: single = 1): ArrayOfTPointF; virtual; abstract;

This item has no description.

Public function ComputeRoundRect(x1,y1,x2,y2,rx,ry: single; options: TRoundRectangleOptions; quality: single = 1): ArrayOfTPointF; overload; virtual; abstract;

This item has no description.

Public function ComputeRoundRect(x1,y1,x2,y2,rx,ry: single; quality: single = 1): ArrayOfTPointF; overload; virtual; abstract;

This item has no description.

Public function ComputeWidePolygon(const points: array of TPointF; w: single): ArrayOfTPointF; virtual; abstract;

This item has no description.

Public function ComputeWidePolyline(const points: array of TPointF; w: single; ClosedCap: boolean): ArrayOfTPointF; overload; virtual; abstract;

This item has no description.

Public function ComputeWidePolyline(const points: array of TPointF; w: single): ArrayOfTPointF; overload; virtual; abstract;

can be accessed via Pen property

Public function CreateBrushTexture(ABrushStyle: TBrushStyle; APatternColor, ABackgroundColor: TBGRAPixel; AWidth: integer = 8; AHeight: integer = 8; APenWidth: single = 1): TBGRACustomBitmap; override;

This item has no description.

Public function Duplicate(DuplicateProperties: Boolean = False): TBGRACustomBitmap; overload; override;

This item has no description.

Public function Duplicate(DuplicateProperties, DuplicateXorMask: Boolean): TBGRACustomBitmap; overload; virtual;

This item has no description.

Public function FilterAffine(AMatrix: TAffineMatrix; correctBlur: boolean = false; ACopyProperties: Boolean=False): TBGRACustomBitmap; virtual; abstract;

This item has no description.

Public function FilterBlurMotion(distance: single; angle: single; oriented: boolean; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; override;

This item has no description.

Public function FilterBlurMotion(const ABounds: TRect; distance: single; angle: single; oriented: boolean; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; override;

This item has no description.

Public function FilterBlurRadial(const ABounds: TRect; radius: single; blurType: TRadialBlurType; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; override;

This item has no description.

Public function FilterBlurRadial(radius: single; blurType: TRadialBlurType; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; override;

This item has no description. Showing description inherited from TCustomUniversalBitmap.FilterBlurRadial.

filters

Public function FilterBlurRadial(radiusX, radiusY: single; blurType: TRadialBlurType; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; override;

This item has no description.

Public function FilterBlurRadial(const ABounds: TRect; radiusX, radiusY: single; blurType: TRadialBlurType; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; override;

This item has no description.

Public function FilterContour(AGammaCorrection: boolean = false; ACopyProperties: Boolean=False): TBGRACustomBitmap; virtual; abstract;

This item has no description.

Public function FilterCustomBlur(mask: TCustomUniversalBitmap; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; override;

This item has no description.

Public function FilterCustomBlur(const ABounds: TRect; mask: TCustomUniversalBitmap; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; override;

This item has no description.

Public function FilterCylinder(ACopyProperties: Boolean=False): TBGRACustomBitmap; virtual; abstract;

This item has no description.

Public function FilterEmboss(angle: single; AStrength: integer= 64; AOptions: TEmbossOptions = []; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; virtual; abstract;

This item has no description.

Public function FilterEmboss(angle: single; ABounds: TRect; AStrength: integer= 64; AOptions: TEmbossOptions = []; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; virtual; abstract;

This item has no description.

Public function FilterEmbossHighlight(FillSelection: boolean; BorderColor: TBGRAPixel; var Offset: TPoint; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; virtual; abstract;

This item has no description.

Public function FilterEmbossHighlight(FillSelection: boolean; BorderColor: TBGRAPixel; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; virtual; abstract;

This item has no description.

Public function FilterEmbossHighlight(FillSelection: boolean; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; virtual; abstract;

This item has no description.

Public function FilterGrayscale(ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; virtual; abstract;

This item has no description.

Public function FilterGrayscale(ABounds: TRect; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; virtual; abstract;

This item has no description.

Public function FilterMedian(Option: TMedianOption; ACopyProperties: Boolean=False): TBGRACustomBitmap; virtual; abstract;

This item has no description.

Public function FilterNormalize(ABounds: TRect; eachChannel: boolean = True; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; virtual; abstract;

This item has no description.

Public function FilterNormalize(eachChannel: boolean = True; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; virtual; abstract;

This item has no description.

Public function FilterPixelate(pixelSize: integer; useResample: boolean; filter: TResampleFilter = rfLinear; ACopyProperties: Boolean=False): TBGRACustomBitmap; virtual; abstract;

This item has no description.

Public function FilterPlane(ACopyProperties: Boolean=False): TBGRACustomBitmap; virtual; abstract;

This item has no description.

Public function FilterRotate(origin: TPointF; angle: single; correctBlur: boolean = false; ACopyProperties: Boolean=False): TBGRACustomBitmap; virtual; abstract;

This item has no description.

Public function FilterSharpen(Amount: single = 1; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; virtual; abstract;

This item has no description.

Public function FilterSharpen(ABounds: TRect; Amount: single = 1; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; virtual; abstract;

This item has no description.

Public function FilterSmartZoom3(Option: TMedianOption; ACopyProperties: Boolean=False): TBGRACustomBitmap; virtual; abstract;

This item has no description.

Public function FilterSmooth(ACopyProperties: Boolean=False): TBGRACustomBitmap; virtual; abstract;

This item has no description.

Public function FilterSphere(ACopyProperties: Boolean=False): TBGRACustomBitmap; virtual; abstract;

This item has no description.

Public function FilterTwirl(ACenter: TPoint; ARadius: Single; ATurn: Single=1; AExponent: Single=3; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; virtual; abstract;

This item has no description.

Public function FilterTwirl(ABounds: TRect; ACenter: TPoint; ARadius: Single; ATurn: Single=1; AExponent: Single=3; ACopyProperties: Boolean=False): TBGRACustomBitmap; overload; virtual; abstract;

This item has no description.

Public function GetImageAffineBounds(Origin,HAxis,VAxis: TPointF; ASourceWidth, ASourceHeight: integer; const ASourceBounds: TRect; AClipOutput: boolean = true): TRect; overload;

This item has no description.

Public function GetImageAffineBounds(AMatrix: TAffineMatrix; Source: TBGRACustomBitmap; APixelCenteredCoords: boolean = true): TRect; overload;

This item has no description.

Public function GetImageAffineBounds(Origin,HAxis,VAxis: TPointF; Source: TBGRACustomBitmap): TRect; overload;

This item has no description.

Public function GetImageAffineBounds(AMatrix: TAffineMatrix; ASourceBounds: TRect; AClipOutput: boolean = true; APixelCenteredCoords: boolean = true): TRect; overload; virtual; abstract;

This item has no description.

Public function GetImageAngleBounds(x,y: single; Source: TBGRACustomBitmap; angle: single; imageCenterX: single = 0; imageCenterY: single = 0; ARestoreOffsetAfterRotation: boolean = false): TRect;

This item has no description.

Public function GetImageBoundsWithin(const ARect: TRect; Channel: TChannel = cAlpha; ANothingValue: Byte = 0): TRect; overload; override;

This item has no description.

Public function GetImageBoundsWithin(const ARect: TRect; Channels: TChannels; ANothingValue: Byte = 0): TRect; overload; override;

This item has no description.

Public function GetMaskFromAlpha: TBGRACustomBitmap; virtual; abstract;

This item has no description.

Public function GetPart(const ARect: TRect; ACopyProperties: Boolean=False): TBGRACustomBitmap; override;

This item has no description. Showing description inherited from TCustomUniversalBitmap.GetPart.

Get a part of the image with repetition in both directions. It means that if the bounds are within the image, the result is just that part of the image, but if the bounds are bigger than the image, the image is tiled.

Public function GetPixel(x, y: single; AResampleFilter: TResampleFilter = rfLinear; smoothBorder: boolean = true): TBGRAPixel; overload; virtual; abstract;

This item has no description.

Public function GetPixel256(x, y, fracX256,fracY256: int32or64; AResampleFilter: TResampleFilter = rfLinear; smoothBorder: boolean = true): TBGRAPixel; virtual; abstract;

This item has no description.

Public function GetPixelCycle(x, y: single; AResampleFilter: TResampleFilter; repeatX: boolean; repeatY: boolean): TBGRAPixel; overload; virtual; abstract;

This item has no description.

Public function GetPixelCycle(x, y: single; AResampleFilter: TResampleFilter = rfLinear): TBGRAPixel; overload; virtual; abstract;

This item has no description.

Public function GetPixelCycle256(x, y, fracX256,fracY256: int32or64; AResampleFilter: TResampleFilter; repeatX: boolean; repeatY: boolean): TBGRAPixel; overload; virtual; abstract;

This item has no description.

Public function GetPixelCycle256(x, y, fracX256,fracY256: int32or64; AResampleFilter: TResampleFilter = rfLinear): TBGRAPixel; overload; virtual; abstract;

This item has no description.

Public function GetPtrBitmap(Top,Bottom: Integer): TBGRACustomBitmap; virtual; abstract;

This item has no description.

Public function GetScanlineAt(X, Y: integer): PBGRAPixel; override;

This item has no description.

Public function GetUnique: TBGRACustomBitmap; override;

Returns an object with a reference count equal to 1. Duplicate this bitmap if necessary

Public class function IsAffineRoughlyTranslation(AMatrix: TAffineMatrix; ASourceBounds: TRect): boolean; virtual; abstract;

This item has no description.

Public function MakeBitmapCopy(BackgroundColor: TColor; AMasked: boolean = False): TBitmap; virtual; abstract;

This item has no description.

Public function NewBitmap: TBGRACustomBitmap; overload; override;

This item has no description.

Public function NewBitmap(Filename: string; AIsUtf8: boolean): TBGRACustomBitmap; overload; virtual; abstract;

This item has no description.

Public function NewBitmap(Filename: string; AIsUtf8: boolean; AOptions: TBGRALoadingOptions): TBGRACustomBitmap; overload; virtual; abstract;

This item has no description.

Public function NewBitmap(AFPImage: TFPCustomImage): TBGRACustomBitmap; overload; virtual; abstract;

This item has no description.

Public function NewBitmap(AWidth, AHeight: integer; const Color: TBGRAPixel): TBGRACustomBitmap; overload; override;

This item has no description.

Public function NewBitmap(AWidth, AHeight: integer; AColor: Pointer): TBGRACustomBitmap; overload; override;

This item has no description.

Public function NewBitmap(Filename: string): TBGRACustomBitmap; overload; virtual; abstract;

This item has no description.

Public function NewBitmap(AWidth, AHeight: integer): TBGRACustomBitmap; overload; override;

This item has no description.

Public function NewReference: TBGRACustomBitmap; override;

Adds a reference (this reference count is not the same as the reference count of an interface, it changes only by explicit calls)

Public function ProvidesScanline(ARect: TRect): boolean; override;

This item has no description. Showing description inherited from TCustomUniversalBitmap.ProvidesScanline.

==== 'IBGRAScanner'' interface ====

Public function Resample(newWidth, newHeight: integer; mode: TResampleMode = rmFineResample; ACopyProperties: Boolean=False): TBGRACustomBitmap; virtual; abstract;

This item has no description.

Public function RotateCCW(ACopyProperties: Boolean=False): TBGRACustomBitmap; override;

This item has no description. Showing description inherited from TCustomUniversalBitmap.RotateCCW.

Return a new bitmap rotated in a counter clock wise direction.

Public function RotateCW(ACopyProperties: Boolean=False): TBGRACustomBitmap; override;

Filters

Public function RotateUD(ACopyProperties: Boolean=False): TBGRACustomBitmap; override;

This item has no description. Showing description inherited from TCustomUniversalBitmap.RotateUD.

Return a new bitmap rotated 180° (upside down).

Public function ScanAtExpanded(X,Y: Single): TExpandedPixel; override;

This item has no description.

Public function ScanAtIntegerExpanded(X,Y: integer): TExpandedPixel; override;

IBGRAScanner

Public function ScanAtIntegerMask(X,Y: integer): TByteMask; override;

This item has no description.

Public function ScanAtMask(X,Y: Single): TByteMask; override;

This item has no description.

Public function ScanNextExpandedPixel: TExpandedPixel; override;

This item has no description.

Public function TextAffineBox(const sUTF8: string): TAffineBox; virtual; abstract;

This item has no description.

Public function TextFitInfo(const sUTF8: string; AMaxWidth: integer): integer; virtual; abstract;

This item has no description.

Public function TextSize(const sUTF8: string; AMaxWidth: integer): TSize; overload; virtual; abstract;

This item has no description.

Public function TextSize(const sUTF8: string): TSize; overload; virtual; abstract;

This item has no description.

Public function TextSize(const sUTF8: string; AMaxWidth: integer; ARightToLeft: boolean): TSize; overload; virtual; abstract;

This item has no description.

Public function TextSizeMultiline(const sUTF8: string; AMaxWidth: single = EmptySingle; AParagraphSpacing: single = 0): TSize; virtual; abstract;

Returns the total size of the string provided using the current font and taking into account line breaks.

Protected function GetArrowEndOffset: single; virtual; abstract;

This item has no description.

Protected function GetArrowEndRepeat: integer; virtual; abstract;

This item has no description.

Protected function GetArrowEndSize: TPointF; virtual; abstract;

This item has no description.

Protected function GetArrowStartOffset: single; virtual; abstract;

This item has no description.

Protected function GetArrowStartRepeat: integer; virtual; abstract;

This item has no description.

Protected function GetArrowStartSize: TPointF; virtual; abstract;

This item has no description.

Protected function GetAverageColor: TColor; virtual; abstract;

This item has no description.

Protected function GetAveragePixel: TBGRAPixel; virtual; abstract;

This item has no description.

Protected function GetBitmap: TBitmap; virtual; abstract;

GUI bitmap object

Protected function GetCanvas: TCanvas; virtual; abstract;

This item has no description.

Protected function GetCanvasAlphaCorrection: boolean; virtual; abstract;

This item has no description.

Protected function GetCanvasDrawModeFP: TDrawMode; virtual; abstract;

This item has no description.

Protected function GetCanvasFP: TFPImageCanvas; virtual; abstract;

FreePascal drawing routines

Protected function GetCanvasOpacity: byte; virtual; abstract;

This item has no description.

Protected function GetCustomPenStyle: TBGRAPenStyle; virtual; abstract;

This item has no description.

Protected function GetFontAntialias: Boolean;

——————-font style accessors————————

Protected function GetFontFullHeight: integer; virtual; abstract;

This item has no description.

Protected function GetFontHeight: integer; virtual; abstract;

This item has no description.

Protected function GetFontPixelMetric: TFontPixelMetric; virtual; abstract;

This item has no description.

Protected function GetFontRenderer: TBGRACustomFontRenderer; virtual; abstract;

This item has no description.

Protected function GetFontRightToLeftFor(AText: string): boolean;

This item has no description.

Protected function GetFontVerticalAnchorOffset: single; virtual; abstract;

This item has no description.

Protected function GetPenJoinStyle: TPenJoinStyle; virtual; abstract;

———– pen style accessors —————-

Protected function GetPenMiterLimit: single; virtual; abstract;

This item has no description.

Protected function GetPenStyle: TPenStyle; virtual; abstract;

This item has no description.

Protected function InternalNew: TBGRACustomBitmap; override;

This item has no description.

Public procedure AlphaFill(alpha: byte; start, Count: integer); overload; virtual; abstract;

This item has no description.

Public procedure AlphaToGrayscale; virtual; abstract;

This item has no description.

Public procedure Arc(cx,cy,rx,ry: single; StartAngleRad,EndAngleRad: Single; AColor: TBGRAPixel; w: single; ADrawChord: boolean; AFillColor: TBGRAPixel); overload;

This item has no description.

Public procedure Arc(cx,cy,rx,ry: single; const StartPoint,EndPoint: TPointF; AColor: TBGRAPixel; w: single; ADrawChord: boolean; AFillColor: TBGRAPixel); overload;

This item has no description.

Public procedure ArrowEndAsClassic(AFlipped: boolean = false; ACut: boolean = false; ARelativePenWidth: single = 1); virtual; abstract;

This item has no description.

Public procedure ArrowEndAsNone; virtual; abstract;

This item has no description.

Public procedure ArrowEndAsTail; virtual; abstract;

This item has no description.

Public procedure ArrowEndAsTriangle(ABackOffset: single = 0; ARounded: boolean = false; AHollow: boolean = false; AHollowPenWidth: single = 0.5); virtual; abstract;

This item has no description.

Public procedure ArrowStartAsClassic(AFlipped: boolean = false; ACut: boolean = false; ARelativePenWidth: single = 1); virtual; abstract;

This item has no description.

Public procedure ArrowStartAsNone; virtual; abstract;

This item has no description.

Public procedure ArrowStartAsTail; virtual; abstract;

This item has no description.

Public procedure ArrowStartAsTriangle(ABackOffset: single = 0; ARounded: boolean = false; AHollow: boolean = false; AHollowPenWidth: single = 0.5); virtual; abstract;

This item has no description.

Public procedure Blend(AColor: TBGRAPixel; AOperation: TBlendOperation; AIgnoreDestAlpha: boolean = false); virtual;

This item has no description.

Public procedure BlendImage(x, y: integer; ASource: TBGRACustomBitmap; AOperation: TBlendOperation); overload; virtual; abstract;

This item has no description.

Public procedure BlendImage(ADest: TRect; ASource: IBGRAScanner; AOffsetX, AOffsetY: integer; AOperation: TBlendOperation); overload; virtual; abstract;

This item has no description.

Public procedure BlendImageOver(ADest: TRect; ASource: IBGRAScanner; AOffsetX, AOffsetY: integer; AOperation: TBlendOperation; AOpacity: byte = 255; ALinearBlend: boolean = false); overload; virtual; abstract;

This item has no description.

Public procedure BlendImageOver(x, y: integer; ASource: TBGRACustomBitmap; AOperation: TBlendOperation; AOpacity: byte = 255; ALinearBlend: boolean = false); overload; virtual; abstract;

This item has no description.

Public procedure BlendOver(AColor: TBGRAPixel; AOperation: TBlendOperation; AOpacity: byte = 255; ALinearBlend: boolean = false; AIgnoreDestAlpha: boolean = false); virtual;

This item has no description.

Public procedure BlendRect(ADest: TRect; AColor: TBGRAPixel; AOperation: TBlendOperation; AExcludeChannels: TChannels); overload; virtual; abstract;

This item has no description.

Public procedure BlendRect(ADest: TRect; AColor: TBGRAPixel; AOperation: TBlendOperation; AIgnoreDestAlpha: boolean = false); overload;

This item has no description.

Public procedure BlendRectOver(ADest: TRect; AColor: TBGRAPixel; AOperation: TBlendOperation; AOpacity: byte; ALinearBlend: boolean; AExcludeChannels: TChannels); overload; virtual; abstract;

This item has no description.

Public procedure BlendRectOver(ADest: TRect; AColor: TBGRAPixel; AOperation: TBlendOperation; AOpacity: byte = 255; ALinearBlend: boolean = false; AIgnoreDestAlpha: boolean = false); overload;

This item has no description.

Public procedure ComputeImageAngleAxes(x,y,w,h,angle: single; imageCenterX,imageCenterY: single; ARestoreOffsetAfterRotation: boolean; out Origin,HAxis,VAxis: TPointF);

This item has no description.

Public procedure ConvertFromLinearRGB; virtual; abstract;

This item has no description.

Public procedure ConvertToLinearRGB; virtual; abstract;

This item has no description.

Public procedure CopyPropertiesTo(ABitmap: TCustomUniversalBitmap); override;

This item has no description.

Public procedure CrossFade(ARect: TRect; Source1, Source2: IBGRAScanner; AFadePosition: byte; mode: TDrawMode = dmDrawWithTransparency); overload; virtual; abstract;

BGRA bitmap functions

Public procedure CrossFade(ARect: TRect; Source1, Source2: IBGRAScanner; AFadeMask: IBGRAScanner; mode: TDrawMode = dmDrawWithTransparency); overload; virtual; abstract;

This item has no description.

Public procedure DataDrawOpaque(ACanvas: TCanvas; ARect: TRect; AData: Pointer; ALineOrder: TRawImageLineOrder; AWidth, AHeight: integer); virtual; abstract;

This item has no description.

Public procedure DataDrawTransparent(ACanvas: TCanvas; Rect: TRect; AData: Pointer; ALineOrder: TRawImageLineOrder; AWidth, AHeight: integer); virtual; abstract;

Canvas drawing functions

Public procedure DiscardXorMask; virtual;

** Free reference to xor mask

Public procedure Draw(ACanvas: TCanvas; Rect: TRect; Opaque: boolean = True); overload; virtual; abstract;

This item has no description.

Public procedure Draw(ACanvas: TCanvas; x, y: integer; Opaque: boolean = True); overload; virtual; abstract;

This item has no description.

Public procedure DrawHorizLine(x, y, x2: int32or64; texture: IBGRAScanner); overload;

This item has no description.

Public procedure DrawHorizLine(x, y, x2: int32or64; ec: TExpandedPixel); overload; virtual; abstract;

This item has no description.

Public procedure DrawHorizLineDiff(x, y, x2: int32or64; c, compare: TBGRAPixel; maxDiff: byte); virtual; abstract;

This item has no description.

Public procedure DrawPart(ARect: TRect; ACanvas: TCanvas; ATargetRect: TRect; Opaque: boolean); overload; virtual;

This item has no description.

Public procedure DrawPart(ARect: TRect; ACanvas: TCanvas; x, y: integer; Opaque: boolean); overload; virtual;

This item has no description.

Public procedure DrawPath(APath: IBGRAPath; AMatrix: TAffineMatrix; AStrokeTexture: IBGRAScanner; AWidth: single; AFillColor: TBGRAPixel); overload; virtual; abstract;

This item has no description.

Public procedure DrawPath(APath: IBGRAPath; AMatrix: TAffineMatrix; AStrokeColor: TBGRAPixel; AWidth: single; AFillColor: TBGRAPixel); overload; virtual; abstract;

This item has no description.

Public procedure DrawPath(APath: IBGRAPath; AMatrix: TAffineMatrix; AStrokeTexture: IBGRAScanner; AWidth: single; AFillTexture: IBGRAScanner); overload; virtual; abstract;

This item has no description.

Public procedure DrawPath(APath: IBGRAPath; AMatrix: TAffineMatrix; AStrokeColor: TBGRAPixel; AWidth: single; AFillTexture: IBGRAScanner); overload; virtual; abstract;

This item has no description.

Public procedure DrawPath(APath: IBGRAPath; AStrokeTexture: IBGRAScanner; AWidth: single; AFillColor: TBGRAPixel); overload; virtual; abstract;

This item has no description.

Public procedure DrawPath(APath: IBGRAPath; AStrokeColor: TBGRAPixel; AWidth: single; AFillColor: TBGRAPixel); overload; virtual; abstract;

This item has no description.

Public procedure DrawPath(APath: IBGRAPath; AStrokeTexture: IBGRAScanner; AWidth: single; AFillTexture: IBGRAScanner); overload; virtual; abstract;

This item has no description.

Public procedure DrawPath(APath: IBGRAPath; AStrokeColor: TBGRAPixel; AWidth: single; AFillTexture: IBGRAScanner); overload; virtual; abstract;

This item has no description.

Public procedure DrawPixel(x, y: int32or64; const c: TBGRAPixel; ADrawMode: TDrawMode); overload; override;

This item has no description.

Public procedure DrawPixels(c: TBGRAPixel; start, Count: integer); virtual; abstract;

This item has no description.

Public procedure DrawPolygonAntialias(const points: array of TPointF; c: TBGRAPixel; w: single; fillcolor: TBGRAPixel); overload; virtual; abstract;

Draws a filled polygon using current pen style/cap/join in one go. The stroke is stricly over the fill even if partially transparent. The polygon is always closed. You don't need to set the last point to be the same as the first point.

Public procedure DrawPolyLineAntialias(const points: array of TPointF; c: TBGRAPixel; w: single; fillcolor: TBGRAPixel); overload; virtual; abstract;

Draws and fill a polyline using current pen style/cap/join in one go. The stroke is stricly over the fill even if partially transparent. ''fillcolor'' specifies a color to fill the polygon formed by the points

Public procedure DrawVertLine(x, y, y2: int32or64; c: TBGRAPixel); virtual; abstract;

This item has no description.

Public procedure EllipseAntialias(AOrigin, AXAxis, AYAxis: TPointF; c: TBGRAPixel; w: single; back: TBGRAPixel); overload; virtual; abstract;

This item has no description.

Public procedure EllipseAntialias(x, y, rx, ry: single; c: TBGRAPixel; w: single; back: TBGRAPixel); overload; virtual; abstract;

This item has no description.

Public procedure EraseMask(x,y: integer; AMask: TBGRACustomBitmap; alpha: byte=255); virtual; abstract;

This item has no description.

Public procedure FastBlendHorizLine(x, y, x2: int32or64; c: TBGRAPixel); virtual; abstract;

This item has no description.

Public procedure FastBlendPixel(x, y: int32or64; const c: TBGRAPixel); virtual; abstract;

This item has no description.

Public procedure FastBlendVertLine(x, y, y2: int32or64; c: TBGRAPixel); virtual; abstract;

This item has no description.

Public procedure Fill(c: TBGRAPixel; start, Count: integer); overload; virtual; abstract;

This item has no description.

Public procedure Fill(texture: IBGRAScanner; mode: TDrawMode); overload; override;

This item has no description.

Public procedure Fill(texture: IBGRAScanner); overload; virtual;

compatibility: take into account ClipRect

Public procedure FillChord(cx,cy,rx,ry: single; const StartPoint,EndPoint: TPointF; AFillColor: TBGRAPixel); overload;

This item has no description.

Public procedure FillChord(cx,cy,rx,ry: single; const StartPoint,EndPoint: TPointF; texture: IBGRAScanner); overload;

This item has no description.

Public procedure FillChord(cx,cy,rx,ry: single; StartAngleRad,EndAngleRad: Single; AFillColor: TBGRAPixel); overload;

This item has no description.

Public procedure FillChord(cx,cy,rx,ry: single; StartAngleRad,EndAngleRad: Single; texture: IBGRAScanner); overload;

This item has no description.

Public procedure FillChordInRect(const ARect: TRect; StartAngleRad,EndAngleRad: Single; texture: IBGRAScanner); overload;

This item has no description.

Public procedure FillChordInRect(const ARect: TRect; StartAngleRad,EndAngleRad: Single; AFillColor: TBGRAPixel); overload;

This item has no description.

Public procedure FillClearTypeMask(x,y: integer; xThird: integer; AMask: TBGRACustomBitmap; texture: IBGRAScanner; ARGBOrder: boolean = true); overload; virtual; abstract;

This item has no description.

Public procedure FillClearTypeMask(x,y: integer; xThird: integer; AMask: TBGRACustomBitmap; color: TBGRAPixel; ARGBOrder: boolean = true); overload; virtual; abstract;

This item has no description.

Public procedure FillEllipseLinearColorAntialias(x, y, rx, ry: single; outercolor, innercolor: TBGRAPixel); overload; virtual; abstract;

This item has no description.

Public procedure FillEllipseLinearColorAntialias(AOrigin, AXAxis, AYAxis: TPointF; outercolor, innercolor: TBGRAPixel); overload; virtual; abstract;

This item has no description.

Public procedure FillMask(x,y: integer; AMask: TCustomUniversalBitmap; ATexture: IBGRAScanner; ADrawMode: TDrawMode); overload; override;

masks

Public procedure FillMask(x,y: integer; AMask: TCustomUniversalBitmap; ATexture: IBGRAScanner; ADrawMode: TDrawMode; AOpacity: byte); overload; virtual; abstract;

This item has no description.

Public procedure FillPie(cx,cy,rx,ry: single; const StartPoint,EndPoint: TPointF; texture: IBGRAScanner); overload;

This item has no description.

Public procedure FillPie(cx,cy,rx,ry: single; StartAngleRad,EndAngleRad: Single; texture: IBGRAScanner); overload;

This item has no description.

Public procedure FillPie(cx,cy,rx,ry: single; const StartPoint,EndPoint: TPointF; AFillColor: TBGRAPixel); overload;

This item has no description.

Public procedure FillPie(cx,cy,rx,ry: single; StartAngleRad,EndAngleRad: Single; AFillColor: TBGRAPixel); overload;

This item has no description.

Public procedure FillPieInRect(const ARect: TRect; StartAngleRad,EndAngleRad: Single; texture: IBGRAScanner); overload;

This item has no description.

Public procedure FillPieInRect(const ARect: TRect; StartAngleRad,EndAngleRad: Single; AFillColor: TBGRAPixel); overload;

This item has no description.

Public procedure FillPolyLinearColor(const points: array of TPointF; AColors: array of TBGRAPixel); overload; virtual; abstract;

This item has no description.

Public procedure FillPolyLinearMapping(const points: array of TPointF; texture: IBGRAScanner; texCoords: array of TPointF; TextureInterpolation: Boolean); overload; virtual; abstract;

Fills a polygon with a texture that is linearly mapped.

Example filling a trapeze with a texture:

fillpolylinearmapping

procedure TForm1.PaintImage;
var image: TBGRABitmap;
    tex: TBGRABitmap;
begin
  image := TBGRABitmap.Create(ClientWidth,ClientHeight, BGRABlack );

  tex:= TBGRABitmap.Create('image.png');
  image.FillPolyLinearMapping( [PointF(110,10), PointF(250,10), PointF(350,160), PointF(10,160)], tex,
             [PointF(0,0), PointF(tex.width-1,0), PointF(tex.Width-1,tex.Height-1), PointF(0,tex.Height-1)], true);
  tex.Free;

  image.Draw(Canvas,0,0,True);
  image.free;
end;

Public procedure FillPolyLinearMappingLightness(const points: array of TPointF; texture: IBGRAScanner; texCoords: array of TPointF; lightnesses: array of word; TextureInterpolation: Boolean); overload; virtual; abstract;

This item has no description.

Public procedure FillPolyPerspectiveMapping(const points: array of TPointF; const pointsZ: array of single; texture: IBGRAScanner; texCoords: array of TPointF; TextureInterpolation: Boolean; zbuffer: psingle = nil); overload; virtual; abstract;

Fills a polygon with a texture that is mapped with perspective.

Example filling a trapeze with a texture:

fillpolyperspectivemapping

procedure TForm1.PaintImage;
var image: TBGRABitmap;
    tex: TBGRABitmap;
begin
  image := TBGRABitmap.Create(ClientWidth,ClientHeight, BGRABlack );

  tex:= TBGRABitmap.Create('image.png');
  image.FillPolyPerspectiveMapping( [PointF(110,10), PointF(250,10), PointF(350,160), PointF(10,160)],
                                    [75,             75,             50,              50],
       tex, [PointF(0,0), PointF(tex.width-1,0), PointF(tex.Width-1,tex.Height-1), PointF(0,tex.Height-1)], true);
  tex.Free;

  image.Draw(Canvas,0,0,True);
  image.free;
end;

Public procedure FillPolyPerspectiveMappingLightness(const points: array of TPointF; const pointsZ: array of single; texture: IBGRAScanner; texCoords: array of TPointF; lightnesses: array of word; TextureInterpolation: Boolean; zbuffer: psingle = nil); overload; virtual; abstract;

This item has no description.

Public procedure FillQuadAffineMapping(Orig,HAxis,VAxis: TPointF; AImage: TBGRACustomBitmap; APixelCenteredCoordinates: boolean = true; ADrawMode: TDrawMode = dmDrawWithTransparency; AOpacity: byte = 255); virtual; abstract;

This item has no description.

Public procedure FillQuadAffineMappingAntialias(Orig,HAxis,VAxis: TPointF; AImage: TBGRACustomBitmap; APixelCenteredCoordinates: boolean = true; AOpacity: byte = 255); virtual; abstract;

This item has no description.

Public procedure FillQuadLinearColor(pt1,pt2,pt3,pt4: TPointF; c1,c2,c3,c4: TBGRAPixel); overload; virtual; abstract;

This item has no description.

Public procedure FillQuadLinearColorAntialias(pt1,pt2,pt3,pt4: TPointF; c1,c2,c3,c4: TBGRAPixel); overload; virtual; abstract;

This item has no description.

Public procedure FillQuadLinearMapping(pt1,pt2,pt3,pt4: TPointF; texture: IBGRAScanner; tex1, tex2, tex3, tex4: TPointF; TextureInterpolation: Boolean= True; ACulling: TFaceCulling = fcNone; ACropToPolygon: boolean = true); overload; virtual; abstract;

This item has no description.

Public procedure FillQuadLinearMappingAntialias(pt1,pt2,pt3,pt4: TPointF; texture: IBGRAScanner; tex1, tex2, tex3, tex4: TPointF; ACulling: TFaceCulling = fcNone); overload; virtual; abstract;

This item has no description.

Public procedure FillQuadLinearMappingLightness(pt1,pt2,pt3,pt4: TPointF; texture: IBGRAScanner; tex1, tex2, tex3, tex4: TPointF; light1,light2,light3,light4: word; TextureInterpolation: Boolean= True); overload; virtual; abstract;

Fills a quadrilateral with linear mapping and lightness

Public procedure FillQuadPerspectiveMapping(pt1,pt2,pt3,pt4: TPointF; texture: IBGRAScanner; tex1, tex2, tex3, tex4: TPointF; ACleanBorders: TRect; ADrawMode: TDrawMode = dmDrawWithTransparency); overload; virtual; abstract;

This item has no description.

Public procedure FillQuadPerspectiveMapping(pt1,pt2,pt3,pt4: TPointF; texture: IBGRAScanner; tex1, tex2, tex3, tex4: TPointF; ADrawMode: TDrawMode = dmDrawWithTransparency); overload; virtual; abstract;

This item has no description.

Public procedure FillQuadPerspectiveMappingAntialias(pt1,pt2,pt3,pt4: TPointF; texture: IBGRAScanner; tex1, tex2, tex3, tex4: TPointF; ACleanBorders: TRect); overload; virtual; abstract;

This item has no description.

Public procedure FillQuadPerspectiveMappingAntialias(pt1,pt2,pt3,pt4: TPointF; texture: IBGRAScanner; tex1, tex2, tex3, tex4: TPointF); overload; virtual; abstract;

This item has no description.

Public procedure FillRect(x, y, x2, y2: integer; texture: IBGRAScanner; mode: TDrawMode; ditheringAlgorithm: TDitheringAlgorithm); overload; virtual;

This item has no description.

Public procedure FillRect(r: TRect; texture: IBGRAScanner; mode: TDrawMode; AScanOffset: TPoint; ditheringAlgorithm: TDitheringAlgorithm); overload; virtual;

This item has no description.

Public procedure FillRect(r: TRect; texture: IBGRAScanner; mode: TDrawMode; ditheringAlgorithm: TDitheringAlgorithm); overload; virtual;

Fills completely a rectangle, without any border, with the specified ''texture'' and with the specified ''mode'' and optional dithering algorithm

Public procedure FillRect(x, y, x2, y2: integer; texture: IBGRAScanner; mode: TDrawMode; AScanOffset: TPoint; ditheringAlgorithm: TDitheringAlgorithm); overload; virtual; abstract;

This item has no description.

Public procedure FillTriangleLinearColor(pt1,pt2,pt3: TPointF; c1,c2,c3: TBGRAPixel); overload; virtual; abstract;

==== Gradient/textured polygons ====

Public procedure FillTriangleLinearColorAntialias(pt1,pt2,pt3: TPointF; c1,c2,c3: TBGRAPixel); overload; virtual; abstract;

This item has no description.

Public procedure FillTriangleLinearMapping(pt1,pt2,pt3: TPointF; texture: IBGRAScanner; tex1, tex2, tex3: TPointF; TextureInterpolation: Boolean= True); overload; virtual; abstract;

This item has no description.

Public procedure FillTriangleLinearMappingAntialias(pt1,pt2,pt3: TPointF; texture: IBGRAScanner; tex1, tex2, tex3: TPointF); overload; virtual; abstract;

This item has no description.

Public procedure FillTriangleLinearMappingLightness(pt1,pt2,pt3: TPointF; texture: IBGRAScanner; tex1, tex2, tex3: TPointF; light1,light2,light3: word; TextureInterpolation: Boolean= True); overload; virtual; abstract;

Fills a triangle with linear mapping of a texture and lightness

Public procedure FloodFill(X, Y: integer; const Brush: TUniversalBrush; Progressive: boolean; ToleranceW: Word = $00ff); overload; virtual;

This item has no description.

Public procedure FloodFill(X, Y: integer; Color: TBGRAPixel; mode: TFloodfillMode; Tolerance: byte = 0); overload; virtual;

This item has no description.

Public procedure GetImageFromCanvas(CanvasSource: TCanvas; x, y: integer); virtual; abstract;

This item has no description.

Public procedure GradientFill(x, y, x2, y2: integer; gradient: TBGRACustomGradient; gtype: TGradientType; o1, o2: TPointF; mode: TDrawMode; Sinus: Boolean=False; ditherAlgo: TDitheringAlgorithm = daNearestNeighbor); overload; virtual; abstract;

This item has no description.

Public procedure GradientFill(x, y, x2, y2: integer; c1, c2: TBGRAPixel; gtype: TGradientType; o1, o2: TPointF; mode: TDrawMode; gammaColorCorrection: boolean = True; Sinus: Boolean=False; ditherAlgo: TDitheringAlgorithm = daNearestNeighbor); overload; virtual; abstract;

This item has no description.

Public procedure GrayscaleToAlpha; virtual; abstract;

This item has no description.

Public procedure HorizLineDiff(x, y, x2: int32or64; const ABrush: TUniversalBrush; ACompare: TBGRAPixel; AMaxDiffW: word); virtual; abstract;

This item has no description.

Public procedure HorizontalFlip(ARect: TRect); overload; override;

This item has no description.

Public procedure InplaceGrayscale(ABounds: TRect; AGammaCorrection: boolean = true); overload; virtual; abstract;

This item has no description.

Public procedure InplaceGrayscale(AGammaCorrection: boolean = true); overload; virtual; abstract;

This item has no description.

Public procedure InplaceNormalize(ABounds: TRect; AEachChannel: boolean = True); overload; virtual; abstract;

This item has no description.

Public procedure InplaceNormalize(AEachChannel: boolean = True); overload; virtual; abstract;

This item has no description.

Public procedure LinearNegative; virtual; abstract;

This item has no description.

Public procedure LinearNegativeRect(ABounds: TRect); virtual; abstract;

This item has no description.

Public procedure LoadFromDevice(DC: HDC); overload; virtual; abstract;

Gets the content of the specified device context

Public procedure LoadFromDevice(DC: HDC; ARect: TRect); overload; virtual; abstract;

Gets the content from the specified rectangular area of a device context

Public procedure LoadFromStream(AStream: TStream; AHandler: TFPCustomImageReader; AOptions: TBGRALoadingOptions); override;

This item has no description.

Public procedure NeedXorMask; virtual;

** Allocate xor mask

Public procedure Negative; virtual; abstract;

inplace filters

Public procedure NegativeRect(ABounds: TRect); virtual; abstract;

This item has no description.

Public procedure ParallelFloodFill(X, Y: integer; Dest: TCustomUniversalBitmap; Color: TBGRAPixel; mode: TFloodfillMode; Tolerance: byte = 0; DestOfsX: integer = 0; DestOfsY: integer = 0); overload; virtual; abstract;

This item has no description.

Public procedure ParallelFloodFill(X, Y: integer; Dest: TCustomUniversalBitmap; const Brush: TUniversalBrush; Progressive: boolean; ToleranceW: Word = $00ff; DestOfsX: integer = 0; DestOfsY: integer = 0); overload; virtual; abstract;

This item has no description.

Public procedure Pie(cx,cy,rx,ry: single; StartAngleRad,EndAngleRad: Single; AColor: TBGRAPixel; w: single; AFillColor: TBGRAPixel); overload;

This item has no description.

Public procedure Pie(cx,cy,rx,ry: single; const StartPoint,EndPoint: TPointF; AColor: TBGRAPixel; w: single; AFillColor: TBGRAPixel); overload;

This item has no description.

Public procedure PutImage(x, y: integer; Source: TBitmap; mode: TDrawMode; AOpacity: byte = 255); overload;

This item has no description.

Public procedure PutImageAffine(AMatrix: TAffineMatrix; Source: TBGRACustomBitmap; AResampleFilter: TResampleFilter; AMode: TDrawMode; AOpacity: Byte=255; APixelCenteredCoords: boolean = true); overload;

This item has no description.

Public procedure PutImageAffine(AMatrix: TAffineMatrix; Source: TBGRACustomBitmap; AOutputBounds: TRect; AResampleFilter: TResampleFilter; AMode: TDrawMode; AOpacity: Byte=255; APixelCenteredCoords: boolean = true); overload; virtual; abstract;

This item has no description.

Public procedure PutImageAffine(AMatrix: TAffineMatrix; Source: TBGRACustomBitmap; AOutputBounds: TRect; AOpacity: Byte=255; ACorrectBlur: Boolean = false; APixelCenteredCoords: boolean = true); overload;

This item has no description.

Public procedure PutImageAffine(AMatrix: TAffineMatrix; Source: TBGRACustomBitmap; AResampleFilter: TResampleFilter; AOpacity: Byte=255; APixelCenteredCoords: boolean = true); overload;

This item has no description.

Public procedure PutImageAffine(Origin,HAxis,VAxis: TPointF; Source: TBGRACustomBitmap; AResampleFilter: TResampleFilter; AMode: TDrawMode; AOpacity: Byte=255); overload;

This item has no description.

Public procedure PutImageAffine(Origin,HAxis,VAxis: TPointF; Source: TBGRACustomBitmap; AResampleFilter: TResampleFilter; AOpacity: Byte=255); overload;

This item has no description.

Public procedure PutImageAffine(Origin,HAxis,VAxis: TPointF; Source: TBGRACustomBitmap; AOpacity: Byte=255; ACorrectBlur: Boolean = false); overload;

This item has no description.

Public procedure PutImageAffine(Origin,HAxis,VAxis: TPointF; Source: TBGRACustomBitmap; AOutputBounds: TRect; AOpacity: Byte=255; ACorrectBlur: Boolean = false); overload;

This item has no description.

Public procedure PutImageAffine(AMatrix: TAffineMatrix; Source: TBGRACustomBitmap; AOpacity: Byte=255; ACorrectBlur: Boolean = false; APixelCenteredCoords: boolean = true); overload;

This item has no description.

Public procedure PutImageAffine(Origin,HAxis,VAxis: TPointF; Source: TBGRACustomBitmap; AOutputBounds: TRect; AResampleFilter: TResampleFilter; AMode: TDrawMode; AOpacity: Byte=255); overload;

This item has no description.

Public procedure PutImageAngle(x,y: single; Source: TBGRACustomBitmap; angle: single; imageCenterX: single = 0; imageCenterY: single = 0; AOpacity: Byte=255; ARestoreOffsetAfterRotation: boolean = false; ACorrectBlur: Boolean = false); overload;

This item has no description.

Public procedure PutImageAngle(x,y: single; Source: TBGRACustomBitmap; angle: single; AOutputBounds: TRect; AResampleFilter: TResampleFilter; imageCenterX: single = 0; imageCenterY: single = 0; AOpacity: Byte=255; ARestoreOffsetAfterRotation: boolean = false); overload;

This item has no description.

Public procedure PutImageAngle(x,y: single; Source: TBGRACustomBitmap; angle: single; AOutputBounds: TRect; imageCenterX: single = 0; imageCenterY: single = 0; AOpacity: Byte=255; ARestoreOffsetAfterRotation: boolean = false; ACorrectBlur: Boolean = false); overload;

This item has no description.

Public procedure PutImageAngle(x,y: single; Source: TBGRACustomBitmap; angle: single; AResampleFilter: TResampleFilter; imageCenterX: single = 0; imageCenterY: single = 0; AOpacity: Byte=255; ARestoreOffsetAfterRotation: boolean = false); overload;

This item has no description.

Public procedure PutImagePart(x,y: integer; Source: TBGRACustomBitmap; SourceRect: TRect; mode: TDrawMode; AOpacity: byte = 255);

This item has no description.

Public procedure PutImageSubpixel(x, y: single; Source: TBGRACustomBitmap; AOpacity: byte = 255);

This item has no description.

Public procedure RectangleAntialias(x, y, x2, y2: single; c: TBGRAPixel; w: single; back: TBGRAPixel); overload; virtual; abstract;

This item has no description.

Public procedure RectangleWithin(r: TRect; ABorderColor: TBGRAPixel; w: single; AFillColor: TBGRAPixel); overload;

This item has no description.

Public procedure RectangleWithin(x1,y1,x2,y2: single; ABorderColor: TBGRAPixel; w: single; AFillColor: TBGRAPixel; APixelCenteredCoordinates: boolean = true); overload;

This item has no description.

Public procedure ReplaceColor(ARect: TRect; before, after: TColor); overload; virtual; abstract;

This item has no description.

Public procedure ReplaceColor(before, after: TColor); overload; virtual; abstract;

This item has no description.

Public procedure RotateUDInplace(ARect: TRect); overload; override;

This item has no description.

Public procedure RoundRectAntialias(x,y,x2,y2,rx,ry: single; c: TBGRAPixel; w: single; options: TRoundRectangleOptions = []); overload; virtual; abstract;

This item has no description.

Public procedure RoundRectAntialias(x,y,x2,y2,rx,ry: single; pencolor: TBGRAPixel; w: single; fillcolor: TBGRAPixel; options: TRoundRectangleOptions = []); overload; virtual; abstract;

This item has no description.

Public procedure RoundRectAntialias(x,y,x2,y2,rx,ry: single; texture: IBGRAScanner; w: single; options: TRoundRectangleOptions = []); overload; virtual; abstract;

This item has no description.

Public procedure RoundRectAntialias(x,y,x2,y2,rx,ry: single; penTexture: IBGRAScanner; w: single; fillTexture: IBGRAScanner; options: TRoundRectangleOptions = []); overload; virtual; abstract;

This item has no description.

Public procedure ScanNextMaskChunk(var ACount: integer; out AMask: PByteMask; out AStride: integer); override;

This item has no description.

Public procedure SetPixel(x, y: int32or64; c: TColor); overload; virtual; abstract;

Pixel functions

Public procedure SetSize(AWidth, AHeight: integer); override;

Can only be called with an existing instance of ''TBGRACustomBitmap''. Sets the dimensions of an existing ''TBGRACustomBitmap'' instance.

Public procedure StretchPutImage(ARect: TRect; Source: TBitmap; mode: TDrawMode; AOpacity: byte = 255); overload;

This item has no description.

Public procedure StretchPutImage(ARect: TRect; Source: TBGRACustomBitmap; mode: TDrawMode; AOpacity: byte = 255); overload; virtual; abstract;

This item has no description.

Public procedure StretchPutImageProportionally(ARect: TRect; AHorizAlign: TAlignment; AVertAlign: TTextLayout; Source: TBGRACustomBitmap; mode: TDrawMode; AOpacity: byte = 255; ACover: boolean = false);

This item has no description.

Public procedure SwapRedBlue(ARect: TRect); overload; virtual; abstract;

This item has no description.

Public procedure SwapRedBlue; overload; virtual; abstract;

This item has no description.

Public procedure TakeScreenshot(ARect: TRect); virtual; abstract;

Fills the content with a screenshot of the specified rectangular area of the desktop (it can be from any screen)

Public procedure TakeScreenshotOfPrimaryMonitor; virtual; abstract;

Fills the content with a screenshot of the primary monitor

Public procedure TextMultiline(ALeft,ATop,AWidth: single; const sUTF8: string; ATexture: IBGRAScanner; AAlign: TBidiTextAlignment = btaNatural; AVertAlign: TTextLayout = tlTop; AParagraphSpacing: single = 0); overload; virtual; abstract;

Draw text with line breaks, filling it with a texture

Public procedure TextMultiline(x,y: single; const sUTF8: string; c: TBGRAPixel; AAlign: TBidiTextAlignment = btaLeftJustify; AVertAlign: TTextLayout = tlTop; AParagraphSpacing: single = 0); overload;

Draw text taking into account line endings, filling it with a solid color

Public procedure TextMultiline(x,y: single; const sUTF8: string; ATexture: IBGRAScanner; AAlign: TBidiTextAlignment = btaLeftJustify; AVertAlign: TTextLayout = tlTop; AParagraphSpacing: single = 0); overload;

Draw text taking into account line endings, filling it with a texture

Public procedure TextMultiline(ALeft,ATop,AWidth: single; const sUTF8: string; c: TBGRAPixel; AAlign: TBidiTextAlignment = btaNatural; AVertAlign: TTextLayout = tlTop; AParagraphSpacing: single = 0); overload; virtual; abstract;

Draw text with line breaks, filling it with a solid color

Public procedure TextOut(x, y: single; const sUTF8: string; texture: IBGRAScanner); overload; virtual;

This item has no description.

Public procedure TextOut(x, y: single; const sUTF8: string; c: TColor; ARightToLeft: boolean); overload; virtual;

This item has no description.

Public procedure TextOut(x, y: single; const sUTF8: string; c: TBGRAPixel; align: TAlignment; ARightToLeft: boolean); overload; virtual; abstract;

This item has no description.

Public procedure TextOut(x, y: single; const sUTF8: string; texture: IBGRAScanner; ARightToLeft: boolean); overload; virtual;

This item has no description.

Public procedure TextOut(x, y: single; const sUTF8: string; c: TBGRAPixel; align: TAlignment); overload; virtual;

Draw the UTF8 encoded string, (x, y) is the top reference point with the chosen alignment. If left-aligned, this will be the top-left corner. If right-aligned, the top-right corner. The color c or texture is used to fill the text. The value of FontOrientation is taken into account, so that the text may be rotated.

Example drawing text on a form:

textout-align

procedure TForm1.FormPaint(Sender: TObject);
var
  image: TBGRABitmap;
  c: TBGRAPixel;
begin
  image := TBGRABitmap.Create(ClientWidth,ClientHeight, clBtnFace);
  c := clBtnText; //retrieve default text color

  image.FontHeight := 30;
  image.FontAntialias := true;
  image.FontStyle := [fsBold];
  image.TextOut(ClientWidth-5,5, 'Hello world', c, taRightJustify);
  image.SetPixel(ClientWidth-5,5, c);

  image.free;
end;

Public procedure TextOut(x, y: single; const sUTF8: string; c: TBGRAPixel); overload; virtual;

Draw the UTF8 encoded string, (x, y) being the top-left corner. The color c or texture is used to fill the text. The value of FontOrientation is taken into account, so that the text may be rotated.

Example drawing text on a form:

textout

procedure TForm1.FormPaint(Sender: TObject);
var
  image: TBGRABitmap;
  c: TBGRAPixel;
begin
  image := TBGRABitmap.Create(ClientWidth,ClientHeight, clBtnFace);
  c := clBtnText; //retrieve default text color

  image.FontHeight := 30;
  image.FontAntialias := true;
  image.FontStyle := [fsBold];
  image.TextOut (5, 5, 'Hello world', c);
  image.SetPixel (5, 5, c);

  image.free;
end;

Public procedure TextOut(x, y: single; const sUTF8: string; texture: IBGRAScanner; align: TAlignment); overload; virtual;

This item has no description.

Public procedure TextOut(x, y: single; const sUTF8: string; c: TColor); overload; virtual;

This item has no description.

Public procedure TextOut(x, y: single; const sUTF8: string; c: TBGRAPixel; ARightToLeft: boolean); overload; virtual;

This item has no description.

Public procedure TextOut(x, y: single; const sUTF8: string; ATexture: IBGRAScanner; AAlign: TAlignment; ALetterSpacing: single); overload; virtual; abstract;

This item has no description.

Public procedure TextOut(x, y: single; const sUTF8: string; AColor: TBGRAPixel; AAlign: TAlignment; ALetterSpacing: single); overload; virtual; abstract;

This item has no description.

Public procedure TextOut(x, y: single; const sUTF8: string; texture: IBGRAScanner; align: TAlignment; ARightToLeft: boolean); overload; virtual; abstract;

This item has no description.

Public procedure TextOutAngle(x, y: single; orientationTenthDegCCW: integer; const sUTF8: string; texture: IBGRAScanner); overload; virtual;

This item has no description.

Public procedure TextOutAngle(x, y: single; orientationTenthDegCCW: integer; const sUTF8: string; c: TBGRAPixel; align: TAlignment; ARightToLeft: boolean); overload; virtual; abstract;

This item has no description.

Public procedure TextOutAngle(x, y: single; orientationTenthDegCCW: integer; const sUTF8: string; texture: IBGRAScanner; align: TAlignment; ARightToLeft: boolean); overload; virtual; abstract;

This item has no description.

Public procedure TextOutAngle(x, y: single; orientationTenthDegCCW: integer; const sUTF8: string; texture: IBGRAScanner; align: TAlignment); overload; virtual;

This item has no description.

Public procedure TextOutAngle(x, y: single; orientationTenthDegCCW: integer; const sUTF8: string; c: TBGRAPixel); overload; virtual;

Overrides the font orientation with the parameter orientationTenthDegCCW

Public procedure TextOutAngle(x, y: single; orientationTenthDegCCW: integer; const sUTF8: string; c: TBGRAPixel; align: TAlignment); overload; virtual;

Draw the UTF8 encoded string with specified orientation (positive values will make the text go upwards). (x, y) is the top reference point with the chosen alignment. If left-aligned, this will be the top-left corner. If right-aligned, the top-right corner. The color c or texture is used to fill the text.

Example drawing text on a form:

textoutangle

procedure TForm1.FormPaint(Sender: TObject);
var
  image: TBGRABitmap;
  c: TBGRAPixel;
begin
  image := TBGRABitmap.Create(ClientWidth,ClientHeight, clBtnFace);
  c := clBtnText; //retrieve default text color

  image.FontHeight := 30;
  image.FontAntialias := true;
  image.FontStyle := [fsBold];
  image.TextOutAngle(30,5, -450, 'Hello world', c, taLeftJustify);
  image.SetPixel(30,5,c);

  image.free;
end;

Public procedure TextOutCurved(ACursor: TBGRACustomPathCursor; const sUTF8: string; ATexture: IBGRAScanner; AAlign: TAlignment; ALetterSpacing: single); overload; virtual; abstract;

This item has no description.

Public procedure TextOutCurved(ACursor: TBGRACustomPathCursor; const sUTF8: string; AColor: TBGRAPixel; AAlign: TAlignment; ALetterSpacing: single); overload; virtual; abstract;

This item has no description.

Public procedure TextOutCurved(APath: IBGRAPath; const sUTF8: string; AColor: TBGRAPixel; AAlign: TAlignment; ALetterSpacing: single); overload; virtual;

This item has no description.

Public procedure TextOutCurved(APath: IBGRAPath; const sUTF8: string; ATexture: IBGRAScanner; AAlign: TAlignment; ALetterSpacing: single); overload; virtual;

This item has no description.

Public procedure TextOutOffset(x, y: single; const sUTF8: string; AColor: TBGRAPixel; AOffset: array of TPointF); overload; virtual;

This item has no description.

Public procedure TextOutOffset(x, y: single; const sUTF8: string; ATexture: IBGRAScanner; AOffset: array of TPointF); overload; virtual;

This item has no description.

Public procedure TextRect(ARect: TRect; const sUTF8: string; halign: TAlignment; valign: TTextLayout; c: TBGRAPixel); overload; virtual;

Draw the UTF8 encoded string in the rectangle ARect. Text is wrapped if necessary. The position depends on the specified horizontal alignment halign and vertical alignement valign. The color c or texture is used to fill the text. No rotation is applied.

Example drawing wrapped text on a form:

textrect-align

procedure TForm1.FormPaint(Sender: TObject);
var
  image: TBGRABitmap;
  c: TBGRAPixel;
begin
  image := TBGRABitmap.Create(ClientWidth,ClientHeight, clBtnFace);
  c := clBtnText; //retrieve default text color

  image.FontHeight := 30;
  image.FontAntialias := true;
  image.FontStyle := [fsBold];
  image.TextRect(rect(5,5, ClientWidth-5,ClientHeight-5),
                 'This is a text that should be word wrapped',taCenter,tlCenter,c);
  image.Rectangle(rect(5,5, ClientWidth-5,ClientHeight-5), c, dmSet);

  image.free;
end;

Public procedure TextRect(ARect: TRect; const sUTF8: string; halign: TAlignment; valign: TTextLayout; texture: IBGRAScanner); overload; virtual;

This item has no description.

Public procedure TextRect(ARect: TRect; x, y: integer; const sUTF8: string; style: TTextStyle; c: TBGRAPixel); overload; virtual; abstract;

This item has no description.

Public procedure TextRect(ARect: TRect; x, y: integer; const sUTF8: string; style: TTextStyle; texture: IBGRAScanner); overload; virtual; abstract;

This item has no description.

Public procedure VerticalFlip(ARect: TRect); overload; override;

This item has no description.

Public procedure XorHorizLine(x, y, x2: int32or64; c: TBGRAPixel); virtual; abstract;

Line primitives

Public procedure XorPixel(x, y: int32or64; const c: TBGRAPixel); overload; virtual; abstract;

This item has no description.

Public procedure XorVertLine(x, y, y2: int32or64; c: TBGRAPixel); virtual; abstract;

This item has no description.

Protected procedure Init; override;

This item has no description. Showing description inherited from TCustomUniversalBitmap.Init.

ReadWriteConfig: TBGRAReadWriteConfig;

Protected procedure InternalArc(cx,cy,rx,ry: single; StartAngleRad,EndAngleRad: Single; ABorderColor: TBGRAPixel; w: single; AFillColor: TBGRAPixel; AOptions: TArcOptions; ADrawChord: boolean = false; ATexture: IBGRAScanner = nil); overload; virtual; abstract;

This item has no description.

Protected procedure InternalArc(cx,cy,rx,ry: single; const StartPoint,EndPoint: TPointF; ABorderColor: TBGRAPixel; w: single; AFillColor: TBGRAPixel; AOptions: TArcOptions; ADrawChord: boolean = false; ATexture: IBGRAScanner = nil); overload;

This item has no description.

Protected procedure InternalArcInRect(r: TRect; StartAngleRad,EndAngleRad: Single; ABorderColor : TBGRAPixel; w: single; AFillColor: TBGRAPixel; AOptions: TArcOptions; ADrawChord: boolean = false; ATexture: IBGRAScanner = nil);

This item has no description.

Protected procedure InternalFillArcInRect(r: TRect; StartAngleRad,EndAngleRad: Single; AFillColor: TBGRAPixel; AOptions: TArcOptions; ATexture: IBGRAScanner = nil);

This item has no description.

Protected procedure InternalTextOutOffset(x, y: single; const sUTF8: string; AColor: TBGRAPixel; ATexture: IBGRAScanner; AOffsets: array of TPointF); virtual; abstract;

This item has no description.

Protected procedure SetArrowEndOffset(AValue: single); virtual; abstract;

This item has no description.

Protected procedure SetArrowEndRepeat(AValue: integer); virtual; abstract;

This item has no description.

Protected procedure SetArrowEndSize(AValue: TPointF); virtual; abstract;

This item has no description.

Protected procedure SetArrowStartOffset(AValue: single); virtual; abstract;

This item has no description.

Protected procedure SetArrowStartRepeat(AValue: integer); virtual; abstract;

This item has no description.

Protected procedure SetArrowStartSize(AValue: TPointF); virtual; abstract;

This item has no description.

Protected procedure SetCanvasAlphaCorrection(const AValue: boolean); virtual; abstract;

This item has no description.

Protected procedure SetCanvasDrawModeFP(const AValue: TDrawMode); virtual; abstract;

This item has no description.

Protected procedure SetCanvasOpacity(AValue: byte); virtual; abstract;

This item has no description.

Protected procedure SetCustomPenStyle(const AValue: TBGRAPenStyle); virtual; abstract;

This item has no description.

Protected procedure SetFontAntialias(const AValue: Boolean);

This item has no description.

Protected procedure SetFontFullHeight(AHeight: integer); virtual; abstract;

This item has no description.

Protected procedure SetFontHeight(AHeight: integer); virtual; abstract;

This item has no description.

Protected procedure SetFontRenderer(AValue: TBGRACustomFontRenderer); virtual; abstract;

This item has no description.

Protected procedure SetPenJoinStyle(const AValue: TPenJoinStyle); virtual; abstract;

This item has no description.

Protected procedure SetPenMiterLimit(const AValue: single); virtual; abstract;

This item has no description.

Protected procedure SetPenStyle(const AValue: TPenStyle); virtual; abstract;

This item has no description.

Protected procedure SetXorMask(AValue: TBGRACustomBitmap);

accessors to properies

Properties

Public property ArrowEndOffset: single read GetArrowEndOffset write SetArrowEndOffset;

Offset of the arrow from the end of the line

Public property ArrowEndRepeat: integer read GetArrowEndRepeat write SetArrowEndRepeat;

Number of times to repeat the ending arrow

Public property ArrowEndSize: TPointF read GetArrowEndSize write SetArrowEndSize;

Size of arrows at the end of the line

Public property ArrowStartOffset: single read GetArrowStartOffset write SetArrowStartOffset;

Offset of the arrow from the start of the line

Public property ArrowStartRepeat: integer read GetArrowStartRepeat write SetArrowStartRepeat;

Number of times to repeat the starting arrow

Public property ArrowStartSize: TPointF read GetArrowStartSize write SetArrowStartSize;

Size of arrows at the start of the line

Public property AverageColor: TColor Read GetAverageColor;

Average color of the image

Public property AveragePixel: TBGRAPixel Read GetAveragePixel;

Average color (including alpha) of the image

Public property Bitmap: TBitmap Read GetBitmap;

Bitmap in a format compatible with the current GUI. Don't forget to call ''InvalidateBitmap'' before using it if you changed something with direct pixel access (''Scanline'' and ''Data'')

Public property Canvas: TCanvas Read GetCanvas;

Canvas provided by the GUI

Public property CanvasAlphaCorrection: boolean Read GetCanvasAlphaCorrection Write SetCanvasAlphaCorrection;

Specifies if the alpha values must be corrected after GUI access to the bitmap

Public property CanvasDrawModeFP: TDrawMode read GetCanvasDrawModeFP write SetCanvasDrawModeFP;

Draw mode to used when image is access using FreePascal functions and ''Colors'' property

Public property CanvasFP: TFPImageCanvas read GetCanvasFP;

Canvas compatible with FreePascal

Public property CanvasOpacity: byte Read GetCanvasOpacity Write SetCanvasOpacity;

Opacity to apply to changes made using GUI functions, provided ''CanvasAlphaCorrection'' is set to ''True''

Public property CustomPenStyle: TBGRAPenStyle read GetCustomPenStyle write SetCustomPenStyle;

Custom pen style. See [[BGRABitmap Geometry types|geometric types]]

Public property FontAntialias: Boolean read GetFontAntialias write SetFontAntialias;

Simplified property to specify the quality (see ''FontQuality'')

Public property FontFullHeight: integer read GetFontFullHeight write SetFontFullHeight;

Specifies the height of the font in pixels, taking into account the additional line spacing defined for the font

Public property FontHeight: integer Read GetFontHeight Write SetFontHeight;

Specifies the height of the font in pixels without taking into account additional line spacing. A negative value means that it is the full height instead (see below)

Public property FontPixelMetric: TFontPixelMetric read GetFontPixelMetric;

Returns measurement for the current font in pixels

Public property FontRenderer: TBGRACustomFontRenderer read GetFontRenderer write SetFontRenderer;

Specifies the font renderer. When working with the LCL, by default it is an instance of ''TLCLFontRenderer'' of unit ''BGRAText''. Other renderers are provided in ''BGRATextFX'' unit and ''BGRAVectorize'' unit. Additionally, ''BGRAFreeType'' provides a renderer independent from the LCL. *

  • Once you assign a renderer, it will automatically be freed when the bitmap is freed. The renderers may provide additional styling for the font, not accessible with the properties in this class *

  • See [[BGRABitmap tutorial Font rendering|font rendering]]

Public property FontVerticalAnchorOffset: single read GetFontVerticalAnchorOffset;

This item has no description.

Public property JoinMiterLimit: single read GetPenMiterLimit Write SetPenMiterLimit;

Limit for the extension of the segments when joining them with ''pjsMiter'' join style, expressed in multiples of the width of the pen

Public property JoinStyle: TPenJoinStyle read GetPenJoinStyle Write SetPenJoinStyle;

How to join segments. See [[BGRABitmap Types imported from Graphics|BGRAGraphics]]

Public property PenStyle: TPenStyle read GetPenStyle Write SetPenStyle;

Pen style. See [[BGRABitmap Types imported from Graphics|BGRAGraphics]]

Public property XorMask: TBGRACustomBitmap read FXorMask write SetXorMask;

Xor mask to be applied when image is drawn