PDFium Delphi Component Docs

TPdfMatrix الفئة

الوحدة: FPdfMatrix
غلاف OO قابل للتغيير حول FS_MATRIX الخاص بـ PDFium لتركيب تحويلات فضاء المستخدم في PDF

الصياغة

type TPdfMatrix = class ... end;

الأنواع ذات الصلة

النوعالوصف
TPdfPointArrayمصفوفة ديناميكية من قيم FS_POINTF تستخدمها عمليات النقاط الجماعية
TPdfRectArrayمصفوفة ديناميكية من قيم FS_RECTF تستخدمها عمليات المستطيلات الجماعية
TPdfMatrixFitModeسياسة ملاءمة pmfStretch أو pmfContain أو pmfCover لتعيين المستطيلات
TPdfMatrixDecompositionتشخيصات الإزاحة والتحجيم الموقع والدوران مع عقارب الساعة والقص والمحدد والانعكاس التي يعيدها TryDecompose في الحقول TranslationX و TranslationY و ScaleX و ScaleY و RotationDegrees و ShearDegrees و Determinant و IsReflected

الطرق

العضوالوصف
Createينشئ مصفوفة وحدة أو مصفوفة من ست قيم أو نسخة دفاعية من FS_MATRIX
NewTranslationينشئ مصفوفة إزاحة جديدة
NewScaleينشئ مصفوفة تحجيم غير منتظم جديدة
NewRotationينشئ مصفوفة دوران باتجاه عقارب الساعة أو عكسها بالدرجات أو بالراديان
NewSkewينشئ مصفوفة بزوايا قص منفصلة لـ X و Y
NewRectMappingينشئ مصفوفة تمطط أو تحتوي أو تغطي مستطيل مصدر داخل مستطيل وجهة
TryCreateRectMappingيعيد تعيين FS_MATRIX ويرفض المدخلات صفرية الحجم أو غير المنتهية أو الفائضة دون تخصيص كائن
Resetيعيد المصفوفة إلى مصفوفة الوحدة
SetElementsيستبدل عناصر المصفوفة الستة كلها في استدعاء واحد
Assignينسخ TPdfMatrix أخرى أو FS_MATRIX خامًا إلى هذه النسخة
Cloneينشئ نسخة كائن مستقلة
Determinantيعيد محدد المكون الخطي 2 في 2
IsFiniteيُبلِّغ عما إذا كان كل عنصر قيمة Single منتهية
IsIdentityيختبر الوحدة بتفاوت يختاره المستدعي
IsInvertibleيختبر قابلية القلب المنتهية والواعية للتحجيم دون حساب معكوس
IsTranslationOnlyيختبر ما إذا كان المكون الخطي مصفوفة وحدة
IsAxisAlignedيختبر ما إذا بقيت المستطيلات محاذية للمحاور، بما في ذلك التخطيطات برد أربعين ضمن التفاوت
NearlyEqualsيقارن مع TPdfMatrix أو FS_MATRIX بتفاوت
GetTranslationيقرأ عنصري الإزاحة X و Y معًا
SetTranslationيستبدل إزاحة X و Y مع الحفاظ على المكون الخطي
ClearTranslationيضبط عنصري الإزاحة على صفر
TryDecomposeيستخرج الإزاحة والتحجيم الموقع والدوران مع عقارب الساعة والقص والمحدد وحالة الانعكاس عندما تكون المصفوفة غير شاذة
Multiplyيضرب من الجهة اليمينية بـ TPdfMatrix أخرى أو بقيم a حتى f صريحة
PreMultiplyيضرب من الجهة اليسرى بـ TPdfMatrix أخرى أو بمصفوفة من ست قيم صريحة
PreTranslateيسبق إزاحة بفضاء إدخال المصفوفة المحلي
PreScaleيسبق معاملي تحجيم منفصلين لـ X و Y
PreRotateيسبق دورانًا باتجاه عقارب الساعة أو عكسه
PreSkewيسبق زاويتي قص منفصلتين لـ X و Y
Translateيلحق إزاحة بمقدار deltaX و deltaY
Scaleيلحق معاملي تحجيم منفصلين لـ X و Y
Rotateيلحق دورانًا باتجاه عقارب الساعة أو عكسه بالدرجات أو بالراديان
HorizontalFlipيلحق قلبًا حول المحور X
VerticalFlipيلحق قلبًا حول المحور Y
CentralFlipيلحق قلبَي المحورين معًا، أي دوران 180 درجة دون مثلثات
Skewيلحق زاويتي قص منفصلتين لـ X و Y
RotateAtيلحق دورانًا حول محور دوران يبقى ثابتًا
ScaleAtيلحق تحجيمًا حول نقطة ارتكاز تبقى ثابتة
SkewAtيلحق قصًا حول نقطة ارتكاز تبقى ثابتة
HorizontalFlipAtيلحق قلبًا أفقيًا حول إحداثي X يختاره المستدعي
VerticalFlipAtيلحق قلبًا رأسيًا حول إحداثي Y يختاره المستدعي
CentralFlipAtيلحق القلبين معًا حول نقطة ارتكاز يختارها المستدعي
MapRectToRectيلحق تعيين تمطيط أو احتواء أو تغطية بين مستطيلات مطبَّعة
Invertيستبدل المصفوفة بمعكوسها أو يرفع EPdfMatrixError عندما تكون شاذة
TryInvertيستبدل المصفوفة بمعكوسها ويعيد False دون تغيير عندما تكون شاذة أو شبه شاذة
TryGetInverseيحسب FS_MATRIX معكوسة دون تغيير هذه النسخة
InverseCopyينشئ مصفوفة معكوسة مستقلة أو يرفع EPdfMatrixError عند الشذوذ
TransformPointيعين إحداثيًا عبر التحويل الأفيني باصطلاح متجه الصف في PDF
TransformVectorيعين اتجاهًا عبر المكون الخطي فقط بحيث تُهمل الإزاحة
TryInverseTransformPointيعين نقطة عبر المعكوس دون تخصيص مصفوفة ويُبلِّغ عن تحويل شاذ بـ False
InverseTransformPointيعين نقطة عبر المعكوس أو يرفع EPdfMatrixError عند الشذوذ
TransformQuadيعين نقاط FS_QUADPOINTSF الأربع كلها
TransformPointsيعين مصفوفة نقاط بتخصيص نتيجة واحد
TransformPointsInPlaceيعين مصفوفة نقاط في مخزن يملكه المستدعي دون تخصيص مصفوفة أخرى
TryTransformBoundsيجمع حدود النقاط المحوَّلة في تمريرة واحدة ويعيد False للإدخال الفارغ
TransformBoundsيجمع حدود النقاط المحوَّلة في تمريرة واحدة أو يرفع EPdfMatrixError للإدخال الفارغ
TransformRectيطبع ويعين مستطيلًا عبر مسار سريع محاذ للمحاور تمامًا أو عبر حدود الزوايا الأربع المحكمة
TransformRectsيعين مصفوفة مستطيلات بتخصيص نتيجة واحد
TransformRectsInPlaceيعين مصفوفة مستطيلات في مخزن يملكه المستدعي دون تخصيص مصفوفة أخرى

الخصائص

الخاصيةالنوعالوصف
aSingleعنصر المصفوفة الأول للقراءة فقط
bSingleعنصر المصفوفة الثاني للقراءة فقط
cSingleعنصر المصفوفة الثالث للقراءة فقط
dSingleعنصر المصفوفة الرابع للقراءة فقط
eSingleعنصر الإزاحة X للقراءة فقط
fSingleعنصر الإزاحة Y للقراءة فقط
HandleFS_MATRIXقيمة المصفوفة الخام لواجهات PDFium التي تقبل FS_MATRIX أو PFS_MATRIX

الوصف

تستخدم TPdfMatrix تخطيط PDF الأفيني a b c d e f وتضرب من اليمين في كل عملية، فتُقرأ الاستدعاءات بالترتيب نفسه الذي تُطبق به التحويلات على النقاط

يضيف PreMultiply والمساعدات Pre* العمليات قبل التحويل الحالي، بينما تلحق مساعدات نقطة الارتكاز تسلسلات إزاحة-عملية-إزاحة تبقي نقطة الارتكاز المختارة ثابتة

يحفظ pmfContain مستطيل المصدر كاملًا مع فراغ متمركز، و pmfCover يملأ الوجهة بفيض متمركز، بينما يسمح pmfStretch بتحجيم X و Y مستقلين

تخصص الطرق الجماعية للنقاط والمستطيلات مصفوفة إخراج واحدة، وصيغها في الموضع لا تخصص شيئًا، ويمسح TryTransformBounds النقاط المحوَّلة دون بناء مصفوفة وسيطة

استخدم Handle مع واجهات مثل FPDFPageObj_SetMatrix و FPDFPageObj_Transform و 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;

انظر أيضًا

TPdf.CreateXObjectFromPage, TPdf.InsertFormObjectFromXObject