FS_MATRIX van PDFium voor het samenstellen van transformaties in PDF-gebruikersruimtetype TPdfMatrix = class ... end;
| Type | Description |
|---|---|
TPdfPointArray | Dynamische array van FS_POINTF-waarden voor bulkbewerkingen op punten |
TPdfRectArray | Dynamische array van FS_RECTF-waarden voor bulkbewerkingen op rechthoeken |
TPdfMatrixFitMode | Passtrategie pmfStretch, pmfContain of pmfCover voor het afbeelden van rechthoeken |
TPdfMatrixDecomposition | Translatie, getekende schaal, rotatie met de klok mee, shear, determinant en spiegelingsdiagnostiek die TryDecompose teruggeeft in de velden TranslationX, TranslationY, ScaleX, ScaleY, RotationDegrees, ShearDegrees, Determinant en IsReflected |
| Member | Description |
|---|---|
Create | Maakt een identiteitsmatrix, een matrix van zes waarden of een defensieve kopie van een FS_MATRIX |
NewTranslation | Maakt een nieuwe translatiematrix |
NewScale | Maakt een nieuwe niet-uniforme schaalmatrix |
NewRotation | Maakt een roterende matrix met de klok mee of tegen de klok in, in graden of radialen |
NewSkew | Maakt een matrix met aparte X- en Y-shear-hoeken |
NewRectMapping | Maakt een matrix die een bronrechthoek uitrekt, bevat of bedekt binnen een bestemmingsrechthoek |
TryCreateRectMapping | Geeft een FS_MATRIX-afbeelding terug en wijst invoer met grootte nul, niet-finite of overlopende invoer af zonder een object toe te wijzen |
Reset | Zet de matrix terug op identiteit |
SetElements | Vervangt alle zes matrixelementen in één aanroep |
Assign | Kopieert een andere TPdfMatrix of ruwe FS_MATRIX naar deze instantie |
Clone | Maakt een onafhankelijke objectkopie |
Determinant | Geeft de determinant van de lineaire 2 bij 2-component terug |
IsFinite | Rapporteert of elk element een eindige Single-waarde is |
IsIdentity | Test identiteit met een door de aanroeper te kiezen tolerantie |
IsInvertible | Test eindige en schaalbewuste inverteerbaarheid zonder een inverse te berekenen |
IsTranslationOnly | Test of de lineaire component identiteit is |
IsAxisAligned | Test of rechthoeken as-uitgelijnd blijven, inclusief kwartslag-indelingen binnen de tolerantie |
NearlyEquals | Vergelijkt met een TPdfMatrix of FS_MATRIX met een tolerantie |
GetTranslation | Leest de X- en Y-translatie-elementen samen |
SetTranslation | Vervangt de X- en Y-translatie met behoud van de lineaire component |
ClearTranslation | Zet beide translatie-elementen op nul |
TryDecompose | Extraheert translatie, getekende schaal, rotatie met de klok mee, shear, determinant en spiegelingsstatus zolang de matrix niet singulier is |
Multiply | Post-vermenigvuldigt met een andere TPdfMatrix of met expliciete a tot f-waarden |
PreMultiply | Pre-vermenigvuldigt met een andere TPdfMatrix of een expliciete matrix van zes waarden |
PreTranslate | Plaatst een translatie vóór de matrix in de lokale invoerruimte van de matrix |
PreScale | Plaatst aparte X- en Y-schaalfactoren vóór de matrix |
PreRotate | Plaatst een rotatie met de klok mee of tegen de klok in vóór de matrix |
PreSkew | Plaatst aparte X- en Y-shear-hoeken vóór de matrix |
Translate | Voegt een translatie over deltaX en deltaY toe |
Scale | Voegt aparte X- en Y-schaalfactoren toe |
Rotate | Voegt een rotatie met de klok mee of tegen de klok in toe, in graden of radialen |
HorizontalFlip | Voegt een spiegeling over de X-as toe |
VerticalFlip | Voegt een spiegeling over de Y-as toe |
CentralFlip | Voegt beide as-spiegelingen toe, gelijk aan een rotatie van 180 graden zonder goniometrie |
Skew | Voegt aparte X- en Y-shear-hoeken toe |
RotateAt | Voegt een rotatie rond een vast blijvend draaipunt toe |
ScaleAt | Voegt een schaling rond een vast blijvend draaipunt toe |
SkewAt | Voegt een shear rond een vast blijvend draaipunt toe |
HorizontalFlipAt | Voegt een horizontale spiegeling rond een door de aanroeper gekozen X-coördinaat toe |
VerticalFlipAt | Voegt een verticale spiegeling rond een door de aanroeper gekozen Y-coördinaat toe |
CentralFlipAt | Voegt beide spiegelingen rond een door de aanroeper gekozen draaipunt toe |
MapRectToRect | Voegt een stretch-, contain- of cover-afbeelding tussen genormaliseerde rechthoeken toe |
Invert | Vervangt de matrix door zijn inverse of veroorzaakt een EPdfMatrixError als hij singulier is |
TryInvert | Vervangt de matrix door zijn inverse en geeft False terug zonder wijziging als hij singulier of bijna singulier is |
TryGetInverse | Berekent een inverse FS_MATRIX zonder deze instantie te wijzigen |
InverseCopy | Maakt een onafhankelijke inverse matrix of veroorzaakt een EPdfMatrixError als de matrix singulier is |
TransformPoint | Beeldt een coördinaat af via de affiene transformatie met de PDF-rijvectorconventie |
TransformVector | Beeldt een richting alleen via de lineaire component af, zodat translatie wordt genegeerd |
TryInverseTransformPoint | Beeldt een punt af via de inverse zonder een matrix toe te wijzen en rapporteert een singuliere transformatie als False |
InverseTransformPoint | Beeldt een punt af via de inverse of veroorzaakt een EPdfMatrixError als de matrix singulier is |
TransformQuad | Beeldt alle vier de punten van een FS_QUADPOINTSF-waarde af |
TransformPoints | Beeldt een puntenarray af met één resultaattoewijzing |
TransformPointsInPlace | Beeldt een puntenarray af in opslag van de aanroeper zonder nog een array toe te wijzen |
TryTransformBounds | Stapelt getransformeerde puntbegrenzingen in één keer op en geeft False bij lege invoer |
TransformBounds | Stapelt getransformeerde puntbegrenzingen in één keer op of veroorzaakt een EPdfMatrixError bij lege invoer |
TransformRect | Normaliseert een rechthoek en beeldt die af via een exact snel pad voor as-uitgelijnde gevallen of via de nauwsluitende grenzen van de vier hoeken |
TransformRects | Beeldt een rechthoekenarray af met één resultaattoewijzing |
TransformRectsInPlace | Beeldt een rechthoekenarray af in opslag van de aanroeper zonder nog een array toe te wijzen |
| Property | Type | Description |
|---|---|---|
a | Single | Alleen-lezen eerste matrixelement |
b | Single | Alleen-lezen tweede matrixelement |
c | Single | Alleen-lezen derde matrixelement |
d | Single | Alleen-lezen vierde matrixelement |
e | Single | Alleen-lezen translatie-element X |
f | Single | Alleen-lezen translatie-element Y |
Handle | FS_MATRIX | Ruwe matrixwaarde voor PDFium-API's die FS_MATRIX of PFS_MATRIX accepteren |
TPdfMatrix gebruikt de affiene PDF-indeling a b c d e f en vermenigvuldigt elke operatie achteraan, zodat aanroepen in dezelfde volgorde lezen als de transformaties die op punten worden toegepast
PreMultiply en de Pre*-helpers voegen operaties vóór de huidige transformatie toe, terwijl de draaipunthelpers sequenties van translatie-operatie-translatie toevoegen die het gekozen draaipunt op zijn plaats houden
pmfContain behoudt de volledige bronrechthoek met gecentreerde ongebruikte ruimte en pmfCover vult de bestemming met gecentreerde overloop, terwijl pmfStretch onafhankelijke X- en Y-schaling toestaat
De bulkmethoden voor punten en rechthoeken wijzen één uitvoerarray toe, hun in-place-varianten wijzen niets toe, en TryTransformBounds scant getransformeerde punten zonder een tussenliggende array te bouwen
Gebruik Handle met API's zoals FPDFPageObj_SetMatrix, FPDFPageObj_Transform en FPDFText_SetMatrix
var
Matrix: TPdfMatrix;
begin
Matrix := TPdfMatrix.Create;
Matrix.ScaleAt(0.5, 0.5, 144, 144);
Matrix.RotateAt(15, 144, 144);
Matrix.Translate(72, 72);
FPDFPageObj_SetMatrix(ObjectHandle, @Matrix.Handle);
end;