مصفوفة

Inheritance: java.lang.Object

public class Matrix

يستبدل مصفوفة GDI+.


معظم الخوارزميات مأخوذة من AffineTransform.java الخاص بـ Sun. تُستخدم أسماء Java لعناصر المصفوفة داخليًا. خريطة أسماء Java إلى .net مع الوصف: m00 M11 مقياس X m10 M12 قص Y m01 M21 قص X m11 M22 مقياس Y m02 M31 ترجمة X m12 M32 ترجمة Y

المنشئات

المنشئالوصف
Matrix()يُنشئ مثيلًا جديدًا لفئة Matrix كمصفوفة هوية.
Matrix(float m11, float m12, float m21, float m22, float m31, float m32)يُنشئ مثيلًا جديدًا لفئة Matrix.
Matrix(RectangleF rect, PointF[] plgpts)يُنشئ مثيلًا جديدًا لفئة Matrix للتحويل الهندسي المحدد بواسطة المستطيل المحدد ومصفوفة النقاط.
Matrix(Rectangle rect, Point[] plgpts)يُنشئ مثيلًا جديدًا لفئة Matrix للتحويل الهندسي المحدد بواسطة المستطيل المحدد ومصفوفة النقاط.
Matrix(Matrix origin)ينشئ نسخة من فئة Matrix.

الحقول

حقلالوصف
TYPE_IDENTITYالتحويل الهوية هو ذلك الذي تكون فيه إحداثيات الإخراج دائمًا هي نفسها إحداثيات الإدخال.
TYPE_TRANSLATIONالتحويل الإزاحي ينقل الإحداثيات بمقدار ثابت في الاتجاهين x و y دون تغيير طول أو زاوية المتجهات.
TYPE_UNIFORM_SCALEالمقياس المتساوي يضاعف طول المتجهات بنفس المقدار في الاتجاهين x و y دون تغيير الزاوية بين المتجهات.
TYPE_GENERAL_SCALEالمقياس العام يضاعف طول المتجهات بمقادير مختلفة في الاتجاهين x و y دون تغيير الزاوية بين المتجهات المتعامدة.
TYPE_MASK_SCALEهذه الثابتة هي قناع بت لأي من بتات علم المقياس.
TYPE_FLIPهذه البتة العلم تشير إلى أن التحويل المحدد بواسطة هذا الكائن يقوم بعكس صورة مرآة حول محور ما، مما يغيّر نظام الإحداثيات المعتاد الأيمن إلى نظام إحداثيات أيسر، بالإضافة إلى التحويلات المشار إليها بواسطة بتات العلم الأخرى.
TYPE_QUADRANT_ROTATIONهذه البتة العلم تشير إلى أن التحويل المحدد بواسطة هذا الكائن يقوم بدوران ربعي بمضاعفات 90 درجة، بالإضافة إلى التحويلات المشار إليها بواسطة بتات العلم الأخرى.
TYPE_GENERAL_ROTATIONهذه البتة العلم تشير إلى أن التحويل المحدد بواسطة هذا الكائن يقوم بدوران بزاوية عشوائية، بالإضافة إلى التحويلات المشار إليها بواسطة بتات العلم الأخرى.
TYPE_MASK_ROTATIONهذه الثابتة هي قناع بت لأي من بتات علم الدوران.
TYPE_GENERAL_TRANSFORMهذه الثابتة تشير إلى أن التحويل المحدد بواسطة هذا الكائن يقوم بتحويل عشوائي لإحداثيات الإدخال.

الطرق

طريقةالوصف
isEquals(Matrix a, Matrix b)يحدد ما إذا كانت مصفوفتان متساويتان.
getM11()يحصل على عنصر المصفوفة في الصف الأول والعمود الأول.
getM12()يحصل على عنصر المصفوفة في الصف الأول والعمود الثاني.
getM21()يحصل على عنصر المصفوفة في الصف الثاني والعمود الأول.
getM22()يحصل على عنصر المصفوفة في الصف الثاني والعمود الثاني.
getM31()يحصل على عنصر المصفوفة في الصف الثالث والعمود الأول.
getM32()يحصل على عنصر المصفوفة في الصف الثالث والعمود الأول.
toString()يرجع String يمثل هذه المثيلة.
getElements()يحصل على نسخة من عناصر المصفوفة.
transformPoints(PointF[] points)يطبق التحويل الهندسي الممثّل بواسطة هذه Matrix على مصفوفة محددة من النقاط.
scale(float scaleX, float scaleY, int order)يطبق متجه المقياس المحدد (scaleX و scaleY) على هذه Matrix باستخدام الترتيب المحدد.
scale(float sx, float sy)يطبق متجه المقياس المحدد (scaleX و scaleY) على هذه Matrix باستخدام ترتيب Prepend (الافتراضي).
translate(float offsetX, float offsetY, int order)يطبق متجه الترجمة المحدد على هذه المصفوفة بالترتيب المحدد.
translate(float tx, float ty)يطبق متجه الترجمة المحدد على هذه Matrix باستخدام ترتيب (Prepend) الافتراضي.
multiply(Matrix tTx, int order)يضرب هذه المصفوفة بالمصفوفة المحددة في معامل matrix، وبالترتيب المحدد في معامل order.
multiply(Matrix tTx)يضرب هذه المصفوفة بالمصفوفة المحددة في معامل matrix باستخدام ترتيب (Prepend) الافتراضي.
rotate(float angle, int order)يطبق دورانًا باتجاه عقارب الساعة بمقدار محدد في معامل angle، حول الأصل (إحداثيات x و y صفر) لهذه المصفوفة بالترتيب المحدد.
rotate(float angle)يطبق دورانًا باتجاه عقارب الساعة بمقدار محدد في معامل angle، حول الأصل (إحداثيات x و y صفر) لهذه المصفوفة بالترتيب الافتراضي (Prepend).
rotateAt(float angle, PointF point, int order)يطبق دورانًا باتجاه عقارب الساعة حول النقطة المحددة على هذه المصفوفة بالترتيب المحدد.
rotateAt(float angle, PointF point)يطبق دورانًا باتجاه عقارب الساعة حول النقطة المحددة على هذه المصفوفة بالترتيب الافتراضي (Prepend).
reset()يعيد تعيين هذه المصفوفة لتحتوي على عناصر مصفوفة الهوية.
hashCode()يعيد قيمة تجزئة (hash code) لهذا الكائن.
equals(Object obj)يحدد ما إذا كان الـ Object المحدد يساوي هذه الحالة.
isIdentity()يرجع true إذا كان هذا AffineTransform تحويل هوية.

Matrix()

public Matrix()

يُنشئ مثيلًا جديدًا لفئة Matrix كمصفوفة هوية.

Matrix(float m11, float m12, float m21, float m22, float m31, float m32)

public Matrix(float m11, float m12, float m21, float m22, float m31, float m32)

يُنشئ مثيلًا جديدًا لفئة Matrix.

Parameters:

معاملنوعالوصف
m11floatm00 M11 Scale X
m12floatm10 M12 Shear Y
m21floatm01 M21 Shear X
m22floatm11 M22 Scale Y
m31floatm02 M31 Translate X
m32floatm12 M32 Translate Y

Matrix(RectangleF rect, PointF[] plgpts)

public Matrix(RectangleF rect, PointF[] plgpts)

يُنشئ مثيلًا جديدًا لفئة Matrix للتحويل الهندسي المحدد بواسطة المستطيل المحدد ومصفوفة النقاط.

Parameters:

معاملنوعالوصف
rectRectangleFهيكل RectangleF يمثل المستطيل الذي سيُحوَّل.
plgptsPointF[]مصفوفة من ثلاثة هياكل PointF تمثل نقاط متوازي أضلاع الذي سيتم تحويل الزوايا العليا اليسرى، العليا اليمنى، والسفلى اليسرى للمستطيل إليه. الزاوية السفلى اليمنى لمتوازي الأضلاع تُستنتج من الزوايا الثلاث الأولى.

Matrix(Rectangle rect, Point[] plgpts)

public Matrix(Rectangle rect, Point[] plgpts)

يُنشئ مثيلًا جديدًا لفئة Matrix للتحويل الهندسي المحدد بواسطة المستطيل المحدد ومصفوفة النقاط.

Parameters:

معاملنوعالوصف
rectRectangleهيكل Rectangle يمثل المستطيل الذي سيتم تحويله.
plgptsPoint[]مصفوفة من ثلاثة هياكل Point تمثل نقاط متوازي أضلاع التي سيتم تحويل الزوايا العلوية اليسرى والعليا اليمنى والسفلية اليسرى للمستطيل إليها. الزاوية السفلية اليمنى للمتوازي أضلاع مفترضة بناءً على الزوايا الثلاث الأولى.

Matrix(Matrix origin)

public Matrix(Matrix origin)

ينشئ نسخة من فئة Matrix.

Parameters:

معاملنوعالوصف
originMatrixمصفوفة أساسية للمعالجة

TYPE_IDENTITY

public static final int TYPE_IDENTITY

التحويل الهوية هو التحويل الذي تكون فيه إحداثيات الخرج دائمًا هي نفسها إحداثيات الإدخال. إذا كان هذا التحويل أي شيء غير التحويل الهوية، فسيكون النوع إما الثابت GENERAL_TRANSFORM أو مزيجًا من بتات العلامة المناسبة للتحويلات المختلفة للإحداثيات التي يقوم بهذا التحويل بأدائها.

TYPE_TRANSLATION

public static final int TYPE_TRANSLATION

التحويل الإزاحي ينقل الإحداثيات بمقدار ثابت في الاتجاهين x و y دون تغيير طول أو زاوية المتجهات.

TYPE_UNIFORM_SCALE

public static final int TYPE_UNIFORM_SCALE

المقياس المتساوي يضاعف طول المتجهات بنفس المقدار في اتجاهي x و y دون تغيير الزاوية بين المتجهات. هذه البتة العلامية متعارضة مع علم TypeGeneralScale.

TYPE_GENERAL_SCALE

public static final int TYPE_GENERAL_SCALE

المقياس العام يضاعف طول المتجهات بمقادير مختلفة في اتجاهي x و y دون تغيير الزاوية بين المتجهات المتعامدة. هذه البتة العلامية متعارضة مع علم TypeUniformScale.

TYPE_MASK_SCALE

public static final int TYPE_MASK_SCALE

هذه الثابتة هي قناع بت لأي من بتات علم المقياس.

TYPE_FLIP

public static final int TYPE_FLIP

تشير هذه البتة العلامية إلى أن التحويل المعرفة بهذا الكائن تقوم بعكس صورة مرآة حول محور ما مما يغيّر نظام الإحداثيات اليمني المعتاد إلى نظام إحداثيات أيسر، بالإضافة إلى التحويلات المشار إليها ببتات العلامة الأخرى. نظام الإحداثيات اليمني هو النظام الذي يدور فيه المحور X الموجب عكس اتجاه عقارب الساعة ليطابق المحور Y الموجب، مشابهًا لاتجاه انحناء أصابع يدك اليمنى عندما تنظر إلى إبهامك من الطرف. نظام الإحداثيات الأيسر هو النظام الذي يدور فيه المحور X الموجب مع اتجاه عقارب الساعة ليطابق المحور Y الموجب، مشابهًا لاتجاه انحناء أصابع يدك اليسرى. لا توجد طريقة رياضية لتحديد زاوية التحويل الأصلي للانعكاس أو المرآة لأن جميع زوايا الانعكاس متطابقة عند تطبيق دوران تعديل مناسب. ملاحظة: تم إضافة TypeFlip بعد أن أصبح GENERAL_TRANSFORM متداولًا علنًا ولم يعد من الممكن إعادة ترقيم بتات العلامة بسهولة دون إدخال عدم توافق ثنائي في الشيفرة الخارجية.

TYPE_QUADRANT_ROTATION

public static final int TYPE_QUADRANT_ROTATION

تشير هذه البتة العلامية إلى أن التحويل المعرفة بهذا الكائن تقوم بدوران ربعي ب multiples من 90 درجة بالإضافة إلى التحويلات المشار إليها ببتات العلامة الأخرى. الدوران يغيّر زوايا المتجهات بنفس المقدار بغض النظر عن الاتجاه الأصلي للمتجه ودون تغيير طول المتجه. هذه البتة العلامية متعارضة مع علم TypeGeneralRotation.

TYPE_GENERAL_ROTATION

public static final int TYPE_GENERAL_ROTATION

تشير هذه البتة العلامية إلى أن التحويل المعرفة بهذا الكائن تقوم بدوران بزاوية عشوائية بالإضافة إلى التحويلات المشار إليها ببتات العلامة الأخرى. الدوران يغيّر زوايا المتجهات بنفس المقدار بغض النظر عن الاتجاه الأصلي للمتجه ودون تغيير طول المتجه. هذه البتة العلامية متعارضة مع

TYPE_MASK_ROTATION

public static final int TYPE_MASK_ROTATION

هذه الثابتة هي قناع بت لأي من بتات علم الدوران.

TYPE_GENERAL_TRANSFORM

public static final int TYPE_GENERAL_TRANSFORM

تشير هذه الثابتة إلى أن التحويل المعرفة بهذا الكائن تقوم بتحويل عشوائي لإحداثيات الإدخال. إذا كان يمكن تصنيف هذا التحويل بأحد الثوابت المذكورة أعلاه، فسيكون النوع إما الثابت TypeIdentity أو مزيجًا من بتات العلامة المناسبة للتحويلات المختلفة للإحداثيات التي يقوم بهذا التحويل بأدائها.

isEquals(Matrix a, Matrix b)

public static boolean isEquals(Matrix a, Matrix b)

يحدد ما إذا كانت مصفوفتان متساويتان.

Parameters:

معاملنوعالوصف
aMatrixالمصفوفة الأولى للمقارنة.
bMatrixالمصفوفة الثانية للمقارنة.

Returns: منطقي - صحيح إذا كانت المصفوفات متساوية.

getM11()

public final float getM11()

يحصل على عنصر المصفوفة في الصف الأول والعمود الأول. يمثل المقياس على المحور X.

Returns: عائم - عنصر المصفوفة في الصف الأول والعمود الأول.

getM12()

public final float getM12()

يحصل على عنصر المصفوفة في الصف الأول والعمود الثاني. يمثل القص على المحور Y.

Returns: عائم - عنصر المصفوفة في الصف الأول والعمود الثاني.

getM21()

public final float getM21()

يحصل على عنصر المصفوفة في الصف الثاني والعمود الأول. يمثل القص على المحور X.

Returns: عائم - عنصر المصفوفة في الصف الثاني والعمود الأول.

getM22()

public final float getM22()

يحصل على عنصر المصفوفة في الصف الثاني والعمود الثاني. يمثل المقياس على المحور Y.

Returns: عائم - عنصر المصفوفة في الصف الثاني والعمود الثاني.

getM31()

public final float getM31()

يحصل على عنصر المصفوفة في الصف الثالث والعمود الأول. يمثل الإزاحة على المحور X.

Returns: عائم - عنصر المصفوفة في الصف الثالث والعمود الأول.

getM32()

public final float getM32()

يحصل على عنصر المصفوفة في الصف الثالث والعمود الأول. يمثل الإزاحة على المحور Y.

Returns: عائم - عنصر المصفوفة في الصف الثالث والعمود الأول.

toString()

public String toString()

يرجع String يمثل هذه المثيلة.

Returns: java.lang.String - سلسلة تمثل هذه الحالة.

getElements()

public final float[] getElements()

يحصل على نسخة من عناصر المصفوفة.

Returns: float[] - نسخة من عناصر المصفوفة.

transformPoints(PointF[] points)

public final void transformPoints(PointF[] points)

يطبق التحويل الهندسي الممثّل بواسطة هذه Matrix على مصفوفة محددة من النقاط.

Parameters:

معاملنوعالوصف
pointsPointF[]النقاط.

scale(float scaleX, float scaleY, int order)

public final void scale(float scaleX, float scaleY, int order)

يطبق متجه المقياس المحدد (scaleX و scaleY) على هذه Matrix باستخدام الترتيب المحدد.

Parameters:

معاملنوعالوصف
scaleXfloatالمقياس X.
scaleYfloatالمقياس Y.
الترتيبintالترتيب.

scale(float sx, float sy)

public final void scale(float sx, float sy)

يطبق متجه المقياس المحدد (scaleX و scaleY) على هذه Matrix باستخدام ترتيب Prepend (الافتراضي).

Parameters:

معاملنوعالوصف
sxfloatsx. sx. sx.
syfloatsy. sy. sy.

translate(float offsetX, float offsetY, int order)

public final void translate(float offsetX, float offsetY, int order)

يطبق متجه الترجمة المحدد على هذه المصفوفة بالترتيب المحدد.

Parameters:

معاملنوعالوصف
offsetXfloatالإزاحة X.
offsetYfloatالإزاحة Y.
الترتيبintالترتيب.

translate(float tx, float ty)

public final void translate(float tx, float ty)

يطبق متجه الترجمة المحدد على هذه Matrix باستخدام ترتيب (Prepend) الافتراضي.

Parameters:

معاملنوعالوصف
txfloattx. tx. tx.
tyfloatty. ty. ty.

multiply(Matrix tTx, int order)

public final void multiply(Matrix tTx, int order)

يضرب هذه المصفوفة بالمصفوفة المحددة في معامل matrix، وبالترتيب المحدد في معامل order.

Parameters:

معاملنوعالوصف
tTxMatrixtx. tx. tx.
الترتيبintالترتيب. الترتيب. الترتيب.

multiply(Matrix tTx)

public final void multiply(Matrix tTx)

يضرب هذه المصفوفة بالمصفوفة المحددة في معامل matrix باستخدام ترتيب (Prepend) الافتراضي.

Parameters:

معاملنوعالوصف
tTxMatrixالمصفوفة التي يتم الضرب معها.

rotate(float angle, int order)

public final void rotate(float angle, int order)

يطبق دورانًا باتجاه عقارب الساعة بمقدار محدد في معامل angle، حول الأصل (إحداثيات x و y صفر) لهذه المصفوفة بالترتيب المحدد.

Parameters:

معاملنوعالوصف
anglefloatزاوية الدوران.
الترتيبintترتيب المصفوفة.

rotate(float angle)

public final void rotate(float angle)

يطبق دورانًا باتجاه عقارب الساعة بمقدار محدد في معامل angle، حول الأصل (إحداثيات x و y صفر) لهذه المصفوفة بالترتيب الافتراضي (Prepend).

Parameters:

معاملنوعالوصف
anglefloatزاوية الدوران.

rotateAt(float angle, PointF point, int order)

public final void rotateAt(float angle, PointF point, int order)

يطبق دورانًا باتجاه عقارب الساعة حول النقطة المحددة على هذه المصفوفة بالترتيب المحدد.

Parameters:

معاملنوعالوصف
anglefloatالزاوية.
pointPointFالنقطة.
الترتيبintالترتيب.

rotateAt(float angle, PointF point)

public final void rotateAt(float angle, PointF point)

يطبق دورانًا باتجاه عقارب الساعة حول النقطة المحددة على هذه المصفوفة بالترتيب الافتراضي (Prepend).

Parameters:

معاملنوعالوصف
anglefloatالزاوية.
pointPointFالنقطة.

reset()

public final void reset()

يعيد تعيين هذه المصفوفة لتحتوي على عناصر مصفوفة الهوية.

hashCode()

public int hashCode()

يعيد قيمة تجزئة (hash code) لهذا الكائن.

Returns: int - قيمة تجزئة (hash code) لهذا الكائن، مناسبة للاستخدام في خوارزميات التجزئة وهياكل البيانات مثل جدول التجزئة.

equals(Object obj)

public boolean equals(Object obj)

يحدد ما إذا كان الـ Object المحدد يساوي هذه الحالة.

Parameters:

معاملنوعالوصف
objjava.lang.Objectالكائن Object للمقارنة مع هذه المثيلة.

Returns: منطقية - true إذا كان الـ Object المحدد مساويًا لهذه المثيلة؛ وإلا false.

isIdentity()

public boolean isIdentity()

يرجع true إذا كان هذا AffineTransform تحويل هوية.

Returns: منطقية - true إذا كان هذا الـ AffineTransform تحويل هوية؛ false خلاف ذلك.