Matrix

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()يعيد سلسلة تمثل هذه الحالة.
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)يطبق متجه الإزاحة المحدد على هذا Matrix بالترتيب المحدد.
translate(float tx, float ty)يطبق متجه الإزاحة المحدد على هذا Matrix باستخدام ترتيب Prepend (الافتراضي).
multiply(Matrix tTx, int order)يضرب هذا Matrix بالمصفوفة المحددة في معامل matrix، وبالترتيب المحدد في معامل order.
multiply(Matrix tTx)يضرب هذا Matrix بالمصفوفة المحددة في معامل matrix باستخدام ترتيب Prepend (الافتراضي).
rotate(float angle, int order)يطبق دورانًا باتجاه عقارب الساعة بمقدار محدد في معامل angle، حول الأصل (إحداثيات x و y صفر) لهذا Matrix بالترتيب المحدد.
rotate(float angle)يطبق دورانًا باتجاه عقارب الساعة بمقدار محدد في معامل angle، حول الأصل (إحداثيات x و y صفر) لهذا Matrix بترتيب Prepend (الافتراضي).
rotateAt(float angle, PointF point, int order)يطبق دورانًا باتجاه عقارب الساعة حول النقطة المحددة على هذا Matrix بالترتيب المحدد.
rotateAt(float angle, PointF point)يطبق دورانًا باتجاه عقارب الساعة حول النقطة المحددة على هذا Matrix بترتيب 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 مقياس X
m12floatm10 M12 قص Y
m21floatm01 M21 قص X
m22floatm11 M22 مقياس Y
m31floatm02 M31 ترجمة X
m32floatm12 M32 ترجمة 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

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

TYPE_GENERAL_ROTATION

public static final int TYPE_GENERAL_ROTATION

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

TYPE_MASK_ROTATION

public static final int TYPE_MASK_ROTATION

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

TYPE_GENERAL_TRANSFORM

public static final int TYPE_GENERAL_TRANSFORM

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

isEquals(Matrix a, Matrix b)

public static boolean isEquals(Matrix a, Matrix b)

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

Parameters:

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

Returns: boolean - True إذا كانت المصفوفات متساوية.

getM11()

public final float getM11()

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

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

getM12()

public final float getM12()

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

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

getM21()

public final float getM21()

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

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

getM22()

public final float getM22()

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

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

getM31()

public final float getM31()

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

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

getM32()

public final float getM32()

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

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

toString()

public String toString()

يعيد سلسلة تمثل هذه الحالة.

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.
orderintالترتيب.

scale(float sx, float sy)

public final void scale(float sx, float sy)

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

Parameters:

معاملنوعالوصف
sxfloatال sx. ال sx. ال sx.
syfloatال sy. ال sy. ال sy.

translate(float offsetX, float offsetY, int order)

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

يطبق متجه الإزاحة المحدد على هذا Matrix بالترتيب المحدد.

Parameters:

معاملنوعالوصف
offsetXfloatال offset X.
offsetYfloatال offset Y.
orderintالترتيب.

translate(float tx, float ty)

public final void translate(float tx, float ty)

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

Parameters:

معاملنوعالوصف
txfloatال tx. ال tx. ال tx.
tyfloatال ty. ال ty. ال ty.

multiply(Matrix tTx, int order)

public final void multiply(Matrix tTx, int order)

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

Parameters:

معاملنوعالوصف
tTxMatrixال tx. ال tx. ال tx.
orderintال order. ال order. ال order.

multiply(Matrix tTx)

public final void multiply(Matrix tTx)

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

Parameters:

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

rotate(float angle, int order)

public final void rotate(float angle, int order)

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

Parameters:

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

rotate(float angle)

public final void rotate(float angle)

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

Parameters:

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

rotateAt(float angle, PointF point, int order)

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

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

Parameters:

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

rotateAt(float angle, PointF point)

public final void rotateAt(float angle, PointF point)

يطبق دورانًا باتجاه عقارب الساعة حول النقطة المحددة على هذا Matrix بترتيب 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 خلاف ذلك.