PDFium Delphi Component Docs

TPdfMatrix sınıfı

Unit: FPdfMatrix
PDF kullanıcı uzayı dönüşümlerini bileştirmek için PDFium'un FS_MATRIX yapısını saran değiştirilebilir OO sarmalayıcısı

Syntax

type TPdfMatrix = class ... end;

Related types

TypeDescription
TPdfPointArrayToplu nokta işlemlerinde kullanılan FS_POINTF değerlerinin dinamik dizisi
TPdfRectArrayToplu dikdörtgen işlemlerinde kullanılan FS_RECTF değerlerinin dinamik dizisi
TPdfMatrixFitModeDikdörtgen eşlemesi için pmfStretch, pmfContain veya pmfCover sığdırma ilkesi
TPdfMatrixDecompositionTryDecompose işlevinin TranslationX, TranslationY, ScaleX, ScaleY, RotationDegrees, ShearDegrees, Determinant ve IsReflected alanlarında döndürdüğü öteleme, işaretli ölçek, saat yönünde dönme, eğme, determinant ve yansıma tanılamaları

Methods

MemberDescription
CreateBirim matris, altı değerli bir matris veya FS_MATRIX üzerinden savunmacı bir kopya oluşturur
NewTranslationYeni bir öteleme matrisi oluşturur
NewScaleYeni bir düzgün olmayan ölçek matrisi oluşturur
NewRotationDerece ya da radyan cinsinden saat yönünde veya saat yönü tersine bir dönme matrisi oluşturur
NewSkewAyrı X ve Y eğme açılarına sahip bir matris oluşturur
NewRectMappingBir kaynak dikdörtgenini hedef dikdörtgenin içinde geren, kapsayan veya kaplayan bir matris oluşturur
TryCreateRectMappingBir FS_MATRIX eşlemesi döndürür ve sıfır boyutlu, sonlu olmayan veya taşıran girdileri nesne ayırmadan reddeder
ResetMatrisi birim matrise sıfırlar
SetElementsAltı matris elemanının tümünü tek çağrıda değiştirir
AssignBaşka bir TPdfMatrix değerini ya da ham FS_MATRIX değerini bu örneğe kopyalar
CloneBağımsız bir nesne kopyası oluşturur
DeterminantDoğrusal 2'ye 2 bileşenin determinantını döndürür
IsFiniteHer elemanın sonlu bir Single değeri olup olmadığını raporlar
IsIdentityBirimi, çağıranın seçebileceği bir toleransla sınar
IsInvertibleTersinirliği, ters matris hesaplamadan ve ölçek duyarlı biçimde sınar
IsTranslationOnlyDoğrusal bileşenin birim olup olmadığını sınar
IsAxisAlignedDikdörtgenlerin eksene hizalı kalıp kalmadığını, tolerans içindeki çeyrek dönüş düzenlerini de kapsayarak sınar
NearlyEqualsTPdfMatrix veya FS_MATRIX ile bir tolerans kullanarak karşılaştırır
GetTranslationX ve Y öteleme elemanlarını birlikte okur
SetTranslationDoğrusal bileşeni koruyarak X ve Y ötelemesini değiştirir
ClearTranslationHer iki öteleme elemanını sıfıra ayarlar
TryDecomposeMatris tekil olmadığında öteleme, işaretli ölçek, saat yönünde dönme, eğme, determinant ve yansıma durumunu ayıklar
MultiplyBaşka bir TPdfMatrix ya da açık a ile f arası değerlerle sağdan çarpar
PreMultiplyBaşka bir TPdfMatrix ya da açık altı değerli matrisle soldan çarpar
PreTranslateMatrisin yerel girdi uzayına bir öteleme ekler
PreScaleAyrı X ve Y ölçek katsayıları ekler
PreRotateSaat yönünde ya da saat yönü tersine bir dönme ekler
PreSkewAyrı X ve Y eğme açıları ekler
TranslatedeltaX ve deltaY kadar bir öteleme ekler
ScaleAyrı X ve Y ölçek katsayıları ekler
RotateDerece ya da radyan cinsinden saat yönünde ya da saat yönü tersine bir dönme ekler
HorizontalFlipX ekseni çevirmesi ekler
VerticalFlipY ekseni çevirmesi ekler
CentralFlipHer iki eksen çevirmesini ekler; trigonometri kullanmadan 180 derecelik dönüşe eşdeğerdir
SkewAyrı X ve Y eğme açıları ekler
RotateAtSabit kalan bir pivot etrafında dönme ekler
ScaleAtSabit kalan bir pivot etrafında ölçekleme ekler
SkewAtSabit kalan bir pivot etrafında eğme ekler
HorizontalFlipAtÇağıranın seçtiği bir X koordinatı etrafında yatay çevirme ekler
VerticalFlipAtÇağıranın seçtiği bir Y koordinatı etrafında dikey çevirme ekler
CentralFlipAtÇağıranın seçtiği bir pivot etrafında her iki çevirmeyi ekler
MapRectToRectNormalleştirilmiş dikdörtgenler arasında germe, kapsama veya kaplama eşlemesi ekler
InvertMatrisi tersiyle değiştirir veya matris tekilken EPdfMatrixError fırlatır
TryInvertMatrisi tersiyle değiştirir; matris tekil ya da neredeyse tekilken mutasyon yapmadan False döndürür
TryGetInverseBu örneği değiştirmeden ters bir FS_MATRIX hesaplar
InverseCopyBağımsız bir ters matris oluşturur veya matris tekilken EPdfMatrixError fırlatır
TransformPointBir koordinatı, PDF satır-vektör kuralını kullanarak afin dönüşümle eşler
TransformVectorBir yönü yalnızca doğrusal bileşenle eşler; böylece öteleme yok sayılır
TryInverseTransformPointBir noktayı matris ayırmadan ters dönüşümle eşler ve tekil dönüşümde False raporlar
InverseTransformPointBir noktayı ters dönüşümle eşler veya dönüşüm tekilken EPdfMatrixError fırlatır
TransformQuadBir FS_QUADPOINTSF değerinin dört noktasının tümünü eşler
TransformPointsBir nokta dizisini tek sonuç ayırmasıyla eşler
TransformPointsInPlaceBaşka bir dizi ayırmadan bir nokta dizisini çağıranın sahip olduğu depoda eşler
TryTransformBoundsDönüştürülmüş nokta sınırlarını tek geçişte biriktirir ve boş girdide False döndürür
TransformBoundsDönüştürülmüş nokta sınırlarını tek geçişte biriktirir veya boş girdide EPdfMatrixError fırlatır
TransformRectBir dikdörtgeni normalleştirip tam eksene hizalı hızlı yol ya da sıkı dört köşe sınırlarıyla eşler
TransformRectsBir dikdörtgen dizisini tek sonuç ayırmasıyla eşler
TransformRectsInPlaceBaşka bir dizi ayırmadan bir dikdörtgen dizisini çağıranın sahip olduğu depoda eşler

Properties

PropertyTypeDescription
aSingleSalt okunur ilk matris elemanı
bSingleSalt okunur ikinci matris elemanı
cSingleSalt okunur üçüncü matris elemanı
dSingleSalt okunur dördüncü matris elemanı
eSingleSalt okunur X öteleme elemanı
fSingleSalt okunur Y öteleme elemanı
HandleFS_MATRIXFS_MATRIX veya PFS_MATRIX kabul eden PDFium API'leri için ham matris değeri

Description

TPdfMatrix PDF afin düzenini a b c d e f kullanır ve her işlemi sağdan çarpar; böylece çağrılar, noktalara uygulanan dönüşümlerle aynı sırada okunur

PreMultiply ve Pre* yardımcıları işlemleri geçerli dönüşümün önüne eklerken pivot yardımcıları, seçilen pivotu sabit tutan öteleme-işlem-öteleme dizileri ekler

pmfContain kaynak dikdörtgenin tamamını ortalanmış boşlukla korur, pmfCover hedefi ortalanmış taşmayla doldurur; pmfStretch ise bağımsız X ve Y ölçeklemesine izin verir

Toplu nokta ve dikdörtgen yöntemleri tek bir çıktı dizisi ayırır; yerinde (in-place) çeşitleri hiç ayırmaz ve TryTransformBounds, ara bir dizi kurmadan dönüştürülmüş noktaları tarar

Handle değerini FPDFPageObj_SetMatrix, FPDFPageObj_Transform ve FPDFText_SetMatrix gibi API'lerle kullanın

Example

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;

See Also

TPdf.CreateXObjectFromPage, TPdf.InsertFormObjectFromXObject