Class Matrix
ชื่อพื้นที่: Aspose.Imaging การประกอบ: Aspose.Imaging.dll (25.4.0)
เปลี่ยน GDI + Matrix
[JsonObject(MemberSerialization.OptIn)]
public class Matrix
Inheritance
อนุญาโตตุลาการ
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Remarks
แอลกอริทึมส่วนใหญ่ได้รับจาก Sun’s AffineTransform.javaชื่อของ Java สําหรับองค์ประกอบแม่เหล็กที่ใช้ภายในแผนที่ชื่อ Java ไปยัง .net เพื่ออธิบาย:m00 M11 ระดับ Xm10 M12 Shear Ym01 M21 Shear Xm11 M22 ระดับ Ym02 M31 การแปล Xm12 M32 การแปล Y
Constructors
Matrix()
เริ่มต้นตัวอย่างใหม่ของเกรด Matrix เป็นเกรด identity
public Matrix()
Matrix(เฟอร์รี่, เฟอร์รี่, เฟอร์รี่, เฟอร์รี่)
เริ่มต้นตัวอย่างใหม่ของชั้น Aspose.Imaging.Matrix
[JsonConstructor]
public Matrix(float m11, float m12, float m21, float m22, float m31, float m32)
Parameters
m11
float
m00 M11 ระดับ X
m12
float
m10 M12 Shear Y
m21
float
m01 M21 Shear X
m22
float
m11 M22 ระดับ Y
m31
float
m02 M31 การแปล X
m32
float
m12 M32 การแปล Y
Matrix(RectangleF, PointF[])
เริ่มต้นตัวอย่างใหม่ของคลาส Aspose.Imaging.Matrix ไปยังการเปลี่ยนแปลงทางภูมิศาสตร์ที่กําหนดโดยแนวตั้งที่ระบุและช่วงของจุด
public Matrix(RectangleF rect, PointF[] plgpts)
Parameters
rect
RectangleF
โครงสร้าง Aspose.Imaging.RectangleF ซึ่งแสดงให้เห็นถึงแนวตั้งที่จะมีการเปลี่ยนแปลง
plgpts
PointF
[ ]
ชุดของสาม Aspose.Imaging.PointF โครงสร้างที่แสดงให้เห็นถึงจุดของ parallelogram ซึ่งมุมด้านบนด้านซ้ายด้านบนและด้านล่างด้านซ้ายของแนวตั้งจะถูกแปลง มุมด้านล่างด้านซ้ายของ parallelogram จะถูกนํามาใช้โดยสามมุมแรก
Matrix(หมายเลขรุ่น: Point[])
เริ่มต้นตัวอย่างใหม่ของคลาส Aspose.Imaging.Matrix ไปยังการเปลี่ยนแปลงทางภูมิศาสตร์ที่กําหนดโดยแนวตั้งที่ระบุและช่วงของจุด
public Matrix(Rectangle rect, Point[] plgpts)
Parameters
rect
Rectangle
โครงสร้าง Aspose.Imaging.Rectangle ซึ่งแสดงให้เห็นถึงแนวตั้งที่จะมีการเปลี่ยนแปลง
plgpts
Point
[ ]
ชุดของสาม Aspose.Imaging.Point โครงสร้างที่แสดงให้เห็นถึงจุดของ parallelogram ซึ่งมุมด้านบนด้านซ้ายด้านบนและด้านล่างด้านซ้ายของแนวตั้งจะถูกแปลง มุมด้านล่างด้านซ้ายของ parallelogram จะถูกนํามาใช้โดยสามมุมแรก
Matrix(Matrix)
ทําสําเนาของคลาส Aspose.Imaging.Matrix
public Matrix(Matrix origin)
Parameters
origin
Matrix
ฐาน Matrix สําหรับการจัดการ
Fields
TypeFlip
ชิ้นนี้หมายความว่าการเปลี่ยนแปลงที่กําหนดโดยวัตถุนี้ทําภาพกระจก flip รอบบางแกนซึ่งเปลี่ยนภาพระบบคํานวณแขนขวาตามปกติไปยังแขนขวาระบบนอกเหนือจากการแปลงที่ระบุโดยไบต์ป้ายอื่น ๆระบบคํานวณด้านขวาคือหนึ่งในที่ X ที่ดีaxis rotates counterclockwise เพื่อเอาชนะ axis Y ที่บวกเช่นเดียวกับทิศทางที่นิ้วมือบนมือขวาของคุณcurl เมื่อคุณ stare end บน thumb ของคุณระบบคํานวณด้านซ้ายเป็นหนึ่งในที่ X ที่บวกแกนหมุนชั่วโมงเพื่อเอาชนะแกน Y ที่บวกเช่นกันไปในทิศทางที่นิ้วมือบนมือซ้ายของคุณโค้งไม่มีวิธีทางแม่นยําในการกําหนดมุมของการแปลงแบบดั้งเดิมหรือกระจกจากมุมใด ๆของ flip เป็นเดียวกันตามการหมุนการปรับที่เหมาะสมหมายเหตุ: TypeFlip ที่เพิ่มหลังจาก GENERAL_TRANSFORM เป็นสาธารณะการไหลเวียนและบิตป้ายอาจไม่สะดวกมากขึ้นหมายเลขใหม่โดยไม่แนะนําความไม่เข้ากันได้ไบนารีในภายนอกรหัส
public const int TypeFlip = 64
หมายเลข
TypeGeneralRotation
ชิ้นนี้หมายความว่าการเปลี่ยนแปลงที่กําหนดโดยวัตถุนี้ทําการหมุนด้วยมุมที่กําหนดเองนอกเหนือจากแปลงที่ระบุโดยไบต์ป้ายอื่น ๆการหมุนเปลี่ยนมุมของ vectors ด้วยจํานวนเดียวกันไม่ว่าทิศทางเดิมของ vector และไม่มีเปลี่ยนความยาวของ vectorชิ้นส่วนนี้เป็นเอกลักษณ์อย่างเป็นมิตรกับ
public const int TypeGeneralRotation = 16
หมายเลข
TypeGeneralScale
ระดับทั่วไปเพิ่มความยาวของ vectors โดยแตกต่างกันจํานวนในทิศทาง x และ y โดยไม่ต้องเปลี่ยนมุมระหว่าง vectors perpendicularบิตสัญญาณนี้เป็นเอกลักษณ์กับสัญญาณสัญญาณสัญญาณ TypeUniformScale
public const int TypeGeneralScale = 4
หมายเลข
TypeGeneralTransform
เถื่อนนี้แสดงให้เห็นว่าการเปลี่ยนแปลงที่กําหนดโดยวัตถุนี้ทําการแปลงอัจฉริยะของโค้ด inputหากการแปลงนี้สามารถแบ่งออกได้โดยหนึ่งในแถบข้างต้นประเภทนี้จะเป็น TypeIdentity หรือ TypeIdentityการผสมผสานของป้ายที่เหมาะสมสําหรับโค้ดที่แตกต่างกันการแปลงที่การแปลงนี้ดําเนินการ
public const int TypeGeneralTransform = 32
หมายเลข
TypeIdentity
การแปลง identity เป็นหนึ่งในที่การจัดเรียงการส่งออกมักจะเหมือนกันกับคํานวณการเข้าหากการเปลี่ยนแปลงนี้เป็นสิ่งอื่นกว่าการเปลี่ยนแปลง identityประเภทนี้จะเป็นแบบคงที่ GENERAL_TRANSFORM หรือการผสมผสานของป้ายที่เหมาะสมสําหรับโค้ดที่แตกต่างกันการแปลงที่การแปลงนี้ดําเนินการ
public const int TypeIdentity = 0
หมายเลข
TypeMaskRotation
เถื่อนนี้เป็นหน้ากากเล็ก ๆ สําหรับป้ายหมุนใด ๆ
public const int TypeMaskRotation = 24
หมายเลข
TypeMaskScale
เถื่อนนี้เป็นหน้ากากเล็ก ๆ สําหรับบิตป้ายใด ๆ ของสแกน
public const int TypeMaskScale = 6
หมายเลข
TypeQuadrantRotation
ชิ้นนี้หมายความว่าการเปลี่ยนแปลงที่กําหนดโดยวัตถุนี้ทําการหมุนสี่เหลี่ยมด้วยหลายของ 90 องศาในนอกจากการแปลงที่ระบุโดยไบต์ป้ายอื่น ๆการหมุนเปลี่ยนมุมของ vectors ด้วยจํานวนเดียวกันไม่ว่าทิศทางเดิมของ vector และไม่มีเปลี่ยนความยาวของ vectorชิ้นส่วนธงนี้เป็นพิเศษกับธง TypeGeneralRotation
public const int TypeQuadrantRotation = 8
หมายเลข
TypeTranslation
การแปลจะเคลื่อนย้ายโค้ดโดยจํานวนคงที่ใน xและ y โดยไม่เปลี่ยนความยาวหรือมุมของ vectors
public const int TypeTranslation = 1
หมายเลข
TypeUniformScale
ระดับสม่ําเสมอเพิ่มความยาวของ vectors ด้วยจํานวนเดียวกันในทั้งทิศทาง x และ y โดยไม่ต้องเปลี่ยนมุมระหว่างวอเตอร์บิตสัญญาณนี้เป็นเอกลักษณ์กับสัญญาณสัญญาณ TypeGeneralScale
public const int TypeUniformScale = 2
หมายเลข
Properties
Elements
ได้รับจํานวนของมูลค่าของจุดไหลซึ่งแสดงให้เห็นถึงองค์ประกอบของ Aspose.Imaging.Matrix
public float[] Elements { get; }
คุณสมบัติมูลค่า
float [ ]
M11
ได้รับองค์ประกอบของแม่เหล็กในลําดับแรกคอลัมน์แรก แสดงการสแกนตามแกน X
[JsonProperty]
public float M11 { get; }
คุณสมบัติมูลค่า
M12
ได้รับองค์ประกอบแม่เหล็กในลําดับแรกคอลัมน์ที่สอง แสดงแผ่นตามแกน Y
[JsonProperty]
public float M12 { get; }
คุณสมบัติมูลค่า
M21
ได้รับองค์ประกอบของแม่เหล็กในคอลัมน์ครั้งแรกในลําดับที่สอง แสดงแผ่นตามแกน X
[JsonProperty]
public float M21 { get; }
คุณสมบัติมูลค่า
M22
ได้รับองค์ประกอบของแม่เหล็กในคอลัมน์ที่สองแถวที่สอง แสดงการสแกนตามแกน Y
[JsonProperty]
public float M22 { get; }
คุณสมบัติมูลค่า
M31
ได้รับองค์ประกอบของแม่เหล็กในแถวที่สามคอลัมน์แรก แสดงการแปลตามแกน X
[JsonProperty]
public float M31 { get; }
คุณสมบัติมูลค่า
M32
ได้รับองค์ประกอบของแม่เหล็กในแถวที่สามคอลัมน์แรก แสดงการแปลตามแกน Y
[JsonProperty]
public float M32 { get; }
คุณสมบัติมูลค่า
Methods
Equals(Matrix และ Matrix)
เรียนรู้ว่าสอง matrices เป็นเท่าเทียมกันหรือไม่
public static bool Equals(Matrix a, Matrix b)
Parameters
a
Matrix
matrix เป็นครั้งแรกที่จะเปรียบเทียบ
b
Matrix
การเปรียบเทียบ Matrix 2
Returns
ความจริงถ้า matrixes เป็นเท่าเทียมกัน
Equals(วัตถุ)
กําหนดว่า System.Object ที่ระบุเท่ากับตัวอย่างนี้หรือไม่
public override bool Equals(object obj)
Parameters
obj
object
ระบบ.วัตถุในการเปรียบเทียบกับตัวอย่างนี้
Returns
‘จริง’ ถ้า System.Object ที่ระบุเท่ากับตัวอย่างนี้; ในทางอื่น ๆ, ‘ผิดพลาด’.
Exceptions
คะแนน obj’ เป็น null
GetElements()
ได้รับการคัดลอกขององค์ประกอบแม่เหล็ก
public float[] GetElements()
Returns
float [ ]
การคัดลอกองค์ประกอบแม่เหล็ก
GetHashCode()
กลับรหัส hash สําหรับตัวอย่างนี้
public override int GetHashCode()
Returns
รหัส hash สําหรับตัวอย่างนี้เหมาะสําหรับการใช้งานในอัลกอริทึม hashing และโครงสร้างข้อมูลเช่นตาราง hash
Multiply(Matrix และ MatrixOrder)
มัลติฟังก์ชัน Matrix นี้โดย Matrix ที่ระบุไว้ใน parameter matrix และในคําสั่งที่ระบุไว้ใน parameter คําสั่ง
public void Multiply(Matrix tTx, MatrixOrder order)
Parameters
tTx
Matrix
ชี ชี ชี ชี ชี ชี
order
MatrixOrder
คําสั่งซื้อ คําสั่งซื้อ คําสั่งซื้อ
Multiply(Matrix)
ปั๊ม Matrix นี้โดย Matrix ที่ระบุไว้ใน parameter matrix โดยใช้คําสั่ง Prepend (เริ่มต้น)
public void Multiply(Matrix tTx)
Parameters
tTx
Matrix
matrix เพื่อเพิ่มขึ้นด้วย
Reset()
รีไซเคิล Matrix นี้เพื่อให้มีองค์ประกอบของ Matrix Identity
public void Reset()
Rotate(ตลับลูกปืน, MatrixOrder)
ใช้การหมุนแบบชั่วโมงของจํานวนที่ระบุไว้ในพารามิเตอร์มุมรอบแหล่งกําเนิด (โซลูชัน 0 x และ y) สําหรับ Matrix นี้ในคําสั่งที่ระบุ
public void Rotate(float angle, MatrixOrder order)
Parameters
angle
float
มุมหมุน
order
MatrixOrder
คําสั่งของแม่เหล็ก
Rotate(เฟอร์รี่)
ใช้การหมุนแบบชั่วโมงของจํานวนที่ระบุไว้ในพารามิเตอร์มุมรอบแหล่งกําเนิด (โซลูชัน 0 x และ y) สําหรับ Matrix นี้ในคําสั่งแบบกําหนดเอง (Prepend)
public void Rotate(float angle)
Parameters
angle
float
มุมหมุน
RotateAt(บลอนด์, PointF, MatrixOrder)
ใช้การหมุนตามนาฬิกาเกี่ยวกับจุดที่ระบุไว้สําหรับ Matrix นี้ในคําสั่งที่ระบุไว้
public void RotateAt(float angle, PointF point, MatrixOrder order)
Parameters
angle
float
กุมมอง
point
PointF
จุด
order
MatrixOrder
คําสั่ง
RotateAt(เฟอร์รี่, PointF)
ใช้การหมุนแบบชั่วโมงเกี่ยวกับจุดที่ระบุไปยัง Matrix นี้ในคําสั่งแบบกําหนดเอง (Prepend)
public void RotateAt(float angle, PointF point)
Parameters
angle
float
กุมมอง
point
PointF
จุด
Scale(เฟอร์รี่, เฟอร์รี่, MatrixOrder)
ใช้ vector scale ที่กําหนด (scaleX และ scaleY) สําหรับ Aspose.Imaging.Matrix นี้โดยใช้คําสั่งที่กําหนด
public void Scale(float scaleX, float scaleY, MatrixOrder order)
Parameters
scaleX
float
ระดับ X
scaleY
float
ระดับ Y
order
MatrixOrder
คําสั่ง
Scale(เฟอร์รี่, เฟอร์รี่)
ใช้ vector scale (scaleX และ scaleY) สําหรับ Matrix นี้โดยใช้คําสั่ง Prepend (เริ่มต้น)
public void Scale(float sx, float sy)
Parameters
sx
float
The sx. The sx. The sx. The sx. The sx. The sx.
sy
float
The Sy. The Sy. The Sy. The Sy. The Sy.
ToString()
กลับ System.String ที่แสดงตัวอย่างนี้
public override string ToString()
Returns
ระบบ String ซึ่งเป็นตัวแทนของ instance นี้
TransformPoints(จุดหมายเลข[])
ใช้การเปลี่ยนแปลงทางภูมิศาสตร์ที่นําเสนอโดย Aspose.Imaging.Matrix สําหรับช่วงจุดที่กําหนด
public void TransformPoints(PointF[] points)
Parameters
points
PointF
[ ]
จุด
Translate(เฟอร์รี่, เฟอร์รี่, MatrixOrder)
ใช้ vector การแปลที่กําหนดสําหรับ Matrix ในคําสั่งที่กําหนด
public void Translate(float offsetX, float offsetY, MatrixOrder order)
Parameters
offsetX
float
อัฟเฟต X
offsetY
float
การชําระเงิน Y
order
MatrixOrder
คําสั่ง
Translate(เฟอร์รี่, เฟอร์รี่)
ใช้ vector การแปลที่ระบุสําหรับ Aspose.Imaging.Matrix นี้โดยใช้คําสั่ง (เริ่มต้น) Prepend
public void Translate(float tx, float ty)
Parameters
tx
float
ชี ชี ชี ชี ชี ชี
ty
float
The ty. The ty. The ty. The ty. The ty. The ty.